Category Java Family

[JAVA] Json Path

When XML has XPath, Json also has JsonPath. For Java, you can use libraries like: In this blog, I will show an example of interacting with JSON Path by using JSONPath  Using JSONPath Anotation Description $ represents the root of the JSON document. . or [] is used for accessing child elements. * is a wildcard that matches any element. [?()]…

Spring Test Error java.lang.ClassNotFoundException: org.junit.platform.engine.reporting.OutputDirectoryProvider

พอดีช่วงนี้ลองปัดฝุ่น Java ป่าวหรอกจริงๆไปลอง Course manning live project อันเก่าที่ดองไว้ ซื้อมาตอน 10 usd แล้วมาลองดู Spring Version ใหม่ ของเดิมนน่าจะปี 2022-2023 แต่พอขยับ แล้วเจอ Error ตอนแรกผมคิดมาครึ่งวันเลย แล้วพอมาเจอ Issue นี้ ถึงบางอ้อเลยครับ มัน Bug สรุป ผมเลยย้อนกลับไปใช้ Version ล่าสุดเมื่อปลายปี 2025 กับเดือนแรกของปี 2025 แทนครับ อันนี้เป็น pom ที่แก้ เผื่อใครเจอปัญหาครับ ^__^…

ปิดการเขียน 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…