Tag Java

ปิดการเขียน Default Password หลังเปิดใช้งาน Spring Security

ปกติตัว Spring เองจะมี Module / Lib ที่ช่วยจัดการด้าน Security ให้ง่ายขึ้น เวลาใช้งานเอา Config มาแปะใน pom.xml ตามนี้ครับ ลอง build ใหม่ครับ โดยพอเมื่อใส่เข้ามาแล้ว มันจะ Default ครอบทุก API เลย โดยจะมีหน้า Login ง่ายๆ ตามนี้ แล้วเราใช้ user อะไร หละ ? ถ้าไปดูใน doc มันจะบอกว่า แล้วทีนี้ ถ้าให้มันไป Run โผล่ลอย หรือ…

How to fix error trustAnchors parameter must be non-empty

ลอง Deploy App แล้วเจอ Error ตามนี้เลย java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty Solution ปกติแล้ว java จะมี TrustStore Location อยู่ 3 จุด นำตัว Cert มาวางตาม Default Location หรือ ไม่สามารถ Custom Location ได้จาก Parameter -Djavax.net.ssl.trustStore และใส่ Password ของ Cert…

[JAVA] Maven 2022

พอดีช่วงนี้มีเอา Tool เล็กๆที่เขียนด้วย Java 8 ที่ใช้มานาน 7 ปี และ แต่ยังไมนาน 8 ปี มาแปลงให้เป็น Java 17 ด้วยที่ตัว Project เก่ายังเป็น Eclipse อยู่เลย เลยต้องแปลงเป็น Maven ก่อน โดยมีวิธีการ ดังนี้ [Maven] แปลง Java Eclipse Project ธรรมดาให้กลายเป็น Maven Project >> ปี 2022 ยังใช้งานได้อยู่ และมีลองหาดูตัว VS Code…

[JAVA] ScriptEngine engine = factory.getEngineByName(“groovy”); แล้วได้ Null

เนื่องจาก Thesis ผมมีความซับซ้อนสูงต้องมีการ Evaluate พวก Expression ต่างๆด้วย ผมจึงเลือกใช้ Groovy ซึ่งมันคำสั่ง Eval ในการตรวจสอบ Expression ครับ โดยจาก Code ตัวอย่าง พอ Run แล้วมันไม่สามารถหา Groovy Engine ได้ครับ หลังจากหาสาเหตุอยู่พักใหญ่ๆเลยพบว่า Maven ที่อ้างอิงถึง Library ที่ใช้ Groovy ต้องมี ดังนี้ครับ ตาม Code เลย (ปรับ Version จาก Marven Central ครับ)

[JAVA] แก้ไข XML ในส่วนของ CDATA กันครับ

ช่วงนี้ก็กลับมาทำ Thesis แล้วครับ หลังจากที่ได้ทำงานอย่างหนัก เพื่อลูกค้าไปจนดึกดื่นครับ โดยในปัญหาที่ผมเจอ คือ ต้องการ Update ค่าใน XML ครับ โดยมีตัวอย่างของ XML ที่ต้องการแก้ไขค่า ดังนี้ครับ ก่อนแก้ไข หลังแก้ไข จากรูปเห็นว่าค่าใน XML Node ที่ผมต้องการแก้ไขมันมีอักขระพิเศษอย่าง สำหรับเจ้า CDATA มันมีชื่อเต็ม คือ Character Data ครับ จุดประสงค์ของมันก็ตรงตัวเลยครับ ยัดอะไรเข้ามาใช้ XML ก็ต้องเก็บตามที่ยัดครับ ไม่เว้นพวกอักขระพิเศษ ตามตารางด้านล่างเลยครับ สิ่งที่ XML เก็บ สัญลักษณ์ที่แสดง &lt…

[JAVA] Thread Pool ใน Java

ช่วงนี้งานเยอะครับ ผมได้รับมอบหมายงานให้ลองปรับระบบงานเดิม ให้มันรองรับงานได้มากขึ้น และหนึ่งในเทคนิคที่ผมเลือกใช้ การทำงานแบบ Asynchronous ครับ โดยการทำงานแบบนี้สิ่งคนสั่ง สั่งงานเสร็จปุ๊บ ไม่ต้องรอผลลัพธ์ครับ แล้วให้ระบบมันทำงานต่อไปจนเสร็จ และแจ้งค่อยแจ้งผลลัพธ์ให้ Client รับทราบครับ แล้ว ThreadPool มันเกี่ยวยังไงหละ เจ้า ThreadPool มันเป็นวิธีการนึงที่ช่วยในการจัดการกับ Resource ครับ ถ้าเป็นเมื่อก่อนเวลาเราจะแตกงานให้ใช้ CPU ของเครื่องให้มันคุ้มค่าสิ่งที่ทำกัน คือ การ New Thread แยกเลยครับ ตาม Code ตัวอย่างครับ ปล. Code นี้มีปัญหานะครับ Run ไปเรื่อยๆ จาก Code…

[BPMN] มา Test BPMN ที่สร้างจาก Camunda กันครับ

หลังจากยุ่งกับงานประจำนานเลย ตอนนี้เริ่มกลับมาทำงาน Thesis แล้วครับ ถ้าใครสร้าง BPMN ด้วย Camunda ไปแล้วนั่น หาจะทดสอบมีได้หลายวิธีครับ เช่น แต่ถ้ามาดูที่ตัว Camunda มีตัวช่วยสำหรับ Test เหมือนกันครับ โดยมีตัวช่วย ดังนี้ สร้าง BPMN ก่อนครับ มาลุย Code กันดีกว่าครับ สำหรับ Tools ที่ผมใช้ IntelliJ กับ Camunda Test Project Template ครับ เมื่อ Generate Project มาแล้วจะพบตัว InmemoryH2Test กับ…

[SPRING] ลองต่อฐานข้อมูลกันหน่อย

จาก Blog ที่แล้วไปลองใช้ Thymeleaf ไปแล้วกับการแสดงผลให้สวยงานครับ แต่อันนั้นข้อมูลที่ได้เกิดจากการ Mock จากชั้น Service ครับ สำหรับ Blog ตอนนี้มีเป้าหมาย หัวข้อประมาณนี้ สิ่งที่ต้องเตรียม ต่อ Database ต้องมีการเพิ่ม Dependency เพิ่มครับ มาลุยกันเลยครับ ถ้าเพิ่มข้อมูลเกี่ยวกับ Person ก็ต้องมีหน้าจอ 2 จอ แก้ไขไฟล์ application.properties  สำหรับการเชื่อมต่อฐานข้อมูล persondb ครับ อย่าลืมไปเอา exclude = {DataSourceAutoConfiguration.class}  ออกจาก @SpringBootApplication  ที่ไฟล์ [ชื่อ Project]Application.java  ด้วยนะครับ เดี๋ยวจะต่อ DB ไม่ได้เอา…

[SPRING] ทำความรู้จักกับ Thymeleaf

จาก Blog ตอนที่แล้วที่ได้ทดสอบ สวัสดีชาวโลก บน Spring Framework กันไปแล้วครับ แต่เว็บของเรามันไม่ได้มีหน้าตาอะไรเลย มีแต่ข้อความอย่างเดียวครับ วันนี้ผมจะมาเพิ่มหน้าจอในส่วนของ View นะครับ สิ่งที่ต้องเตรียม งานจาก Blog ตอนก่อนครับ ถ้าไม่มีสามารถเพิ่ม Dependency ลงในไฟล์ pom.xml ได้ครับ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> หรือจะใช้ Spring Initializr ก็ได้ครับ รู้จักกับ Thymeleaf กันก่อนครับ เป็น Template Engine โดยหลักเราเขียน View ด้วย HTML แหละครับ แต่มี Tag…