วันพฤหัสบดีที่ 24 มกราคม พ.ศ. 2551

ปัญหาการ Deploy บน Websphere 6.0 - 6.1

ปัญหาส่วนใหญ่ต้องดู SystemOut.log เอาน่ะครับ อันนี้เป็น Guidline คร่าวๆ เท่านั้น

1. ถ้าเคย Deploy แล้วได้ แต่อยู่ดีๆ พอ Deploy ใหม่แล้วไม่ได้ ลอง Export Ear File ใหม่แล้ว Deploy อีกที อาจจเป็นเพราะเวลาเรา Export มามีปัญหาน่ะครับ ลองทำซ้ำดู ก็จะได้

2. ถ้า Deploy สำเร็จ แต่ Start Application ไม่ได้ อันนี้ต้องตรวจสอบดีๆ ว่าเป็นที่อะไรน่ะครับ
  • ลองดูว่า Duplication EJB Name หรือเปล่าครับ ถ้าใช้ ก็เปลี่ยนชื่อไม่ให้ซ้ำกัน
  • Deploy EJB Project หรือยังก่อนที่จะ Export Ear File มันก็จะทำให้มีปัญหาเหมือนกัน
  • เป็นที่ Ear Project หรือเปล่า ลองตรวจดูว่า มี Web Module หรือ Module ไหนหรือเปล่าที่ Doesn't exist ใน Ear Project (เกิดกรณีที่เราเปลี่ยนชื่อ หรือลบมันทิ้งน่ะครับ)
  • ถ้ามีการเปลี่ยนชื่อ Project หรืออะไรต้องทำการ Remove ออกก่อนแล้ว Add ใหม่ ถ้าไม่ทำอาจจะทำให้ Deploy Application ไม่ได้น่ะครับ
3. ปัญหา Application ยาวเกิน 259 ตัวอักษร (เกิดใน Windows ผมไม่แน่ใจว่าบน Unix จะเป็นเปล่านะครับ) ให้เปลี่ยนชื่อ Application Exception จะประมาณ xxx too long น่ะครับ แก้ได้ดังนี้
  • ถ้าสามารถเปลี่ยนชื่อ Application ได้ก็ให้เปลี่ยนให้สั้นลงนะครับ
  • ถ้าเป็นที่ WSDL File ให้ลบทิ้ง (ปกติมันจะ Generate WSDL File มาสองที่ ที่อยู่ในลึกมากๆ หลาย Folder อันนี้ให้ลบทิ้งได้เลยครับ ส่วนที่อยู่ใน web-inf/wsdl ไม่ต้องลบครับ)
  • ถ้าทำตามข้างบนไม่ได้ให้ Create Profile ใหม่แล้วเอา Application ไปไว้ที่ตัวใหม่แทนน่ะครับ ดูวิธี Create ได้ ที่นี่

4. อันนี้สำคัญมาก ถ้าเรา Deploy Ear File ของเิิดิม โดยเปลี่ยนชื่อเป็นตัวใหม่ พยายามแก้ JNDI Name (EJB) ทั้งหมด อย่าให้ซ้ำ เพราะจะทำให้ทุก Application ที่ Deploy อยู่บน Server ใช้งานไม่ได้ ต้อง Unistall แล้ว Deploy ใหม่ทั้งหมด (ดูจาก ใน Directory installedApp จะไม่มี ข้อมูลอยู่เลย) แต่สามารถ Export ข้อมูลออกมาได้ คือ Export แล้ว Uninstall แล้วเอาตัวที่ Export มา Deploy ใหม่น่ะครับ