Category Java Family

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…

[JAVA] ดึงนามสกุลไฟล์ จากไฟล์ที่ถูก Upload เข้ามาผ่าน Multipart file

ดึงนามสกุลไฟล์ จากไฟล์ที่ถูก Upload เข้ามาผ่าน Multipart file โดยสามารถใช้ Code ได้ ดังนี้ครับ เพิ่ม Library Apache Commons IO  ลงในไฟล์ pom.xml  ครับ จากนั้นเรียกใช้ Class FilenameUtils  ที่อยู่ใน Library Apache Commons IO ตัวอย่าง Code ที่ใช้ดึงนามสกุลไฟล์ จากไฟล์ที่ถูก Upload เข้ามาผ่าน Multipart file ครับ String extension = FilenameUtils.getExtension(file.getOriginalFilename());  

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

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

[SPRING] สร้าง Form Upload ไฟล์ และบันทึกข้อมูลครับ

หลังจากโดนมรสุมงานหนักมาตั้งแต่ต้นปีครับ กว่าจะได้กลับบ้านที่ก็ปาไป 3 ทุ่มกว่าๆ ถึง 4 ทุ่มและ เริ่มกลับมาทำ Thesis สักทีครับ สำหรับโจทย์ที่ผมเอามาเขียน Blog ครั้งนี้เป็นการ Upload File จากนั้น Save ที่ไฟล์ที่ Server ครับ พร้อมกับบันทึกข้อมูลที่ป้อนเข้ามาจาก User ครับ เตรียมตัว Just Coding ครับ สังเกตุดีๆ ผมมี Property ที่เกี่ยวกับ Multipart ชื่อ BPMNFile ครับ โดย Property นี้ ผมกำหนดเป็น @Transient  ครับ…