Hibernate Session บน Weblogic กับ Tomcat มันต่างกันยังไง

บทความเกี่ยวกับ : Hibernate Session บน Weblogic กับ Tomcat มันต่างกันยังไง


งานเข้าเต็มๆ ไม่รู้ว่าผมพลาดอะไรกับความรู้เท่าไม่ถึงการณ์
ไม่รู้อารมณ์ใหนอยู่ๆ ก็รื้องาน Project เก่าๆ มา Tuning เล่น
พอดีงานที่ทำ Dev บน Tomcat  ส่วน Production เป็น Web Logic
ลอง Run บน Dev อัดยิงเข้าไปหนักๆ ผลปรากฏว่าเดี้ยง ก็แปลกใจ
ว่ามัน On Production ไปตั้งนานไม่เคยเห็นมันจะเป็นอะไร
เลยตัดสินใจมาไล่ code ดูบน Dev พบว่าก็ Close Session ทุกครั้ง
ก็ไม่น่าจะผิดอะไร แล้วทำไมมันถึงเดี้ยงได้
ก็เลยลองนั่งไล่ Close  statement , resultset ด้วยเผื่อมันจะเกี่ยว ผลปรากฏว่า หายครับแบ งงๆ
หุหุ ว่าแล้วก็ deploy ซะ เท่านั้นแหละ บน Prod เดี้ยงทันทีไล่อยู่นานจึงรู้ว่า เพราะ การ close statement
ทำให้ result set ถูก close ไปด้วย T_T ... แต่บน tocat ไม่เป็น 555+ งานเข้าสิครับ

สุดท้ายสรุปได้ว่า

- ที่บน Prod Weblogic มันไม่เดี้ยง เพราะ การ close Session มันจะ Close resource ทั้งหมด
มันก็ดีตรงปลอดภัยดี แต่ถ้าเราเผลอไป Close ก่อนแล้วเอา result set ไปใช้ทีหลังก็จะเดี้ยงแบบนีแ้หละ
- บน Dev Tomcat  Close session แต่ result set ยังเอาไปใช้งานได้ มันก็เป็นข้อดีนะ แต่ถ้าเราลืมปิดมันเดี้ยงได้


ยังไงเสียงานนี้ต้องหาคำตอบครับ ผมไม่ปักใจเชื่อว่าเป็นข้อแตกต่างของ Tomcat กับ Weblogic
แต่คิดว่ามันต้องอยู่ที config บางตัว อาจเป็นที่ data source หรือ ที่ Hibernate หรืออาจเป็นที่ Oracle Driver ก็เป็นได้ ถ้ามีใครพอรู้เสนอแนะได้นะครับ

โพสต์ยอดนิยมจากบล็อกนี้

Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก

java -Xms , java -Xmx กำหมด memory ให้ JVM เพื่อป้องกันปัญหา Out of Memory

Java this กับ super การใช้งานคำสั่ง this กับ super ใน ภาษา Java