วันพฤหัสบดีที่ 18 มีนาคม พ.ศ. 2553

Weblogic and Maven Integration

ขอแปะเก็บไว้หน่อยนึง การใช้ maven ร่วมกับ Weblogic
http://mohanrajk.wordpress.com/2009/03/02/weblogic-103-and-maven-integration/
http://www.blogwitter.com/category/java/weblogic/

แก้ไขเรื่อง mvn weblogic:deploy ครับ ต้องไปแก้ที่ setting ของ maven ถ้าทำงานบน windows น่ะครับ http://timezra.blogspot.com/2009/06/maven-and-weblogic.html

เพิ่มเติมแก้ Bug บางอย่าง
http://forums.oracle.com/forums/thread.jspa?threadID=724768

วันพุธที่ 24 กุมภาพันธ์ พ.ศ. 2553

Covert XSD to Java โดยใช้ jaxb

1. เราจะใช้คำสั่ง xjc เพื่อที่จะแปลงข้อมูลใน xsd เป็น java object เพื่อเราจะใช้งานได้ โดยใช้คำสั่ง
xjc -p -d src
2. พอทำเสร็จเราจะได้ java class ไว้ใช้งานในระบบ ถ้ามีการยิง xml มาจะสามารถ convert เป็น java object ได้เลย
3. ต่อไปวิธีใช้งานจะเรียกกันว่า Marshall กับ UnMarshall
3.1 Marshall คือการที่เราต้องการแปลงจาก Java Object ไปเป็น XML File โดยจะมีการใช้คร่าวๆ ดังนี้

JAXBContext jaxbContext
= JAXBContext.newInstance
(<PackageName>);
Marshaller marshaller = jaxbContext.createMarshaller();
ObjectFactory factory = new ObjectFactory();
Temp aTemp = factory.createTemp();
marshaller.marshal(aTemp, <Type>);

(สามารถใช้ dom4j ที่เป็น DocumentResult ในการโยนค่าไปรับ xml ค่าได้) เช่น
DocumentResult dr = new DocumentResult(); แล้วเอา dr ไปใส่ในช่อง
3.2 UnMarshall จะทำการแปลงค่าจาก XML File มาใส่ใน Object ให้เราเลย

JAXBContext jaxbContext
= JAXBContext.newInstance
(<PackageName>);
Unmarshaller unmarshaller =
jaxbContext.createUnmarshaller();
Temp aTemp
= (Temp)unmarshaller.unmarshal(
new File("src/main/resources/dataTest.xml"));

วันเสาร์ที่ 6 กุมภาพันธ์ พ.ศ. 2553

Install Web Logic 11g On Mac OS X

ผมคิดว่าน่าจะใช้ได้ทุกเวอร์ชั่นน่ะครับ เพราะน่าจะมีปัญหาเดียวกันหมดเลย ทำตามนี้ครับ
1. Config JVM ก่อนครับ ตามนี้นะครับ (ถ้าไม่ทำตอน install มันจะหา JVM ตอน install ไม่ได้น่ะครับ)

$ cd /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
$ sudo mkdir jre
$ sudo mkdir jre/lib
$ sudo mkdir jre/lib
$ sudo touch jre/lib/rt.jar
$ sudo touch jre/lib/core.jar

1. Download Weblogic Server มาก่อนครับ ให้เลือก generic unix จะได้ .jar file มาครับ
2. พอไปไฟล์มาแล้ว double click install ไม่ได้น่ะครับ มันจะ out of memory เพราะมัน heavy server ครับ ต้อง เรียกผ่าน command เอาน่ะครับ
java -Xmx1024m -Dos.name=unix -jar wls1032_generic.jar
3. แล้วก็ทำตาม step เลยครับ ก็จะลงได้ล่ะ
4. มา config memory เพิ่มครับ เพราะ start แล้วจะ out of memory อีกรอบ
5. ให้หา MEM_ARG คำนี้ที่มีการ set ไว้น่ะครับ แล้วเพิ่ม -XX:MaxPermSize=128m ก็จะสามารถเข้าหน้า admin console ได้แล้วน่ะครับ

Reference
http://avernet.blogspot.com/2008/02/installing-bea-weblogic-on-mac-os-x.html
http://yusuke.homeip.net/blog/2008/09/20/running_weblogic_server_10g_release_3_on_a_mac.html

วันจันทร์ที่ 25 มกราคม พ.ศ. 2553

การ set library path บน Weblogic 10.3

*คำเตือน บาง library มี dependency หา lib ใน jar file บางทำให้ไม่สามารถ start server ได้เลยครับ ระวังนิดนึง (ที่ผมเจอก็ osgi.jar มันวิ่งไปหาไม่เจอ server start ไม่ขึ้นเลยที่เดียวเชียว -_-"

1. โดยปกติเราสามารถเอา jar file ไปวางไว้ที่ folder lib ได้เลยครับ ให้เช็คก่อนดูที่ server (double click ที่ server) จะขึ้นหน้าต่าง config ของ server ขึ้นมาให้ดูที่ Domain Home ครับ ว่า path อยู่ตรงไหน
2. เข้าไปที่ Folder lib แล้วเอา jar file มาว่าง start server เป็นอันใช้งาน library ได้แล้วครับ

วันศุกร์ที่ 22 มกราคม พ.ศ. 2553

ปัญหา The domain edit lock is owned by another session ของ Weblogic 10.3

ข้อความจะขึ้นประมาณนี้ครับ ตอนที่เราจะ deploy application ลงไปน่ะครับ

The domain edit lock is owned by another session - this deployment operation requires exclusive access to the edit lock and hence cannot proceed. You can release the lock in Administration Console by first disabling "Automatically Acquire Lock and Activate Changes" in Preference, then clicking the Release Configuration button. - this deployment operation requires exclusive access to the edit lock and hence cannot proceed. You can release the lock in Administration Console by first disabling "Automatically Acquire Lock and Activate Changes" in Preference, then clicking the Release Configuration button.

ผมใช้ตัว Workshop ที่ติดมากับ Weblogic 10.3 น่ะครับ พื้นฐานก็ Eclipse น่ะครับ

1. ให้เข้าไปที่ admin console ครับ แล้วไปส่วนของ preference อยู่ด้านบนน่ะครับ แล้วไป เอาเครื่องหมายถูก หน้า Automatically Acquire Lock and Activate Changes ออก ครับ แล้ว save แล้วหลังจากนั้นก็ restart server ทีนึง
2. Login เข้าหน้า admin console ใหม่ แล้วไปคลิกที่ Release Configuration พอเสร็จแล้วจะทำการ deploy applcation ได้ปกติ ครับ

Note
- ที่เป็น default ของ web logic user : weblogic, pass : weblogic

reference
http://forums.oracle.com/forums/thread.jspa?threadID=717773

การ set library path บน Weblogic 8.1

การ set จะไม่เหมือนของ websphere น่ะครับที่สามารถ set ผ่านหน้่า GUI ได้เลย แต่ Weblogic ไม่สามารถทำได้ (หรือผมยังหาไม่เจอไม่รู้ครับ)
โดยให้ set CLASSPATH ไปที่ jar file ตัวที่เราต้องการอ้างถึง หรือทำการ set ใน startWebLogic.cmd ใน windows หรือ startWebLogic.sh ใน unix แล้วไปแก้ส่วนตรง
set CLASSPATH ทำการเพิ่ม jar file พี่เราต้องการไป หรือจะเขียนเป็น variable ไว้ก็ได้ เช่น set APPS_CLASSPATH=xxx แล้วทำการ เพิ่ม %APPS_CLASSPATH% ลงไปแทนก็ได้ครับ

วันพุธที่ 30 กันยายน พ.ศ. 2552

Bug Spring Batch : Exception the given trigger will never fire

สำหรับคนที่ใช้ Spring Batch นะครับ เวลาใช้งานแล้ว ขึ้น Exception ประมาณ

Caused by: org.quartz.SchedulerException: Based on configured schedule, the given trigger will never fire.
at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:774)
at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:276)
at org.springframework.scheduling.quartz.SchedulerAccessor.addTriggerToScheduler(SchedulerAccessor.java:346)
at org.springframework.scheduling.quartz.SchedulerAccessor.registerJobsAndTriggers(SchedulerAccessor.java:276)
at org.springframework.scheduling.quartz.SchedulerFactoryBean.afterPropertiesSet(SchedulerFactoryBean.java:483)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 39 more

แสดงว่าอาจจะเป็นว่า เครื่องเราใช้ปี พ.ศ. น่ะครับ วิธีแก้ให้แก้ที่ Regional and Language Options แล้ว Config ให้เป็น English (ไม่ใช่ thailand น่ะครับ) แล้วมันก็จะใช้งานได้ตามปกติ เปิดจากปีอย่างเดียวเลย -_-"

Reference