วันพฤหัสบดีที่ 9 ตุลาคม พ.ศ. 2551

การแก้ไข Crystal Report Error - Unexpected error determining relative path

การแก้ไขนะครับ คือมันจะหา File rpt ไม่เจอเราเลยจะทำการไปลบ Config CRConfig.xml ที่เป็น reportlocation ทิ้งไปน่ะครับ แล้วตอนเรียกให้เรียกตรงๆ จาก Path เลย เช่น C:/Temp/test.rpt มันก็จะทำงานได้เลยครับปล.1. เราจะเอา CRConfig.xml ไปไว้ที่ classes2. ถ้าเราไม่อ้าง Path rpt ตรงๆ สามารถนำไปวางไว้ที่ classes...

วันศุกร์ที่ 19 กันยายน พ.ศ. 2551

การ Add Notify สำหรับ Websphere 6.x Scheduler

การ Add Notify คือเราการที่เราจะดักข้อมูลของ Scheduler เช่น ตอนนี้ทำงานหรือยัง, สำเร็จ หรือไม่สำเร็จ เป็นต้นครับCopy มาเลยครับสร้าง EJB Notify ขึ้นมาก่อน สร้างเหมือน EJB ปกติ ครับ แต่ ให้ใช้ Home : com.ibm.websphere.scheduler.NotificationSinkHomeRemote : com.ibm.websphere.scheduler.NotificationSinkAdd...

วันอังคารที่ 16 กันยายน พ.ศ. 2551

อธิบายเพิ่มเติม Quick Seam จาก http://www.seam66.com/blog/?p=67

ผมลองทำตามที่นี่เลยครับ http://www.seam66.com/blog/?p=67ผมเขียนอธิบายเพิ่มเติมเอาน่ะครับ เพราะผมไม่รู้เรื่องน่ะครับ ว่ามันจะต้อง Config ยังไงเอาไปวางไว้ไหน เลยเขียนมาเผื่อใครไม่รู้จะได้รู้น่ะครับ ปล. ถ้าอ่าน seam มาก่อนข้ามไปเลยครับ สำหรับคนที่ไม่รู้อะไรเลยแบบผม1.  ขั้นแรกก็ติดตั้งก่อนที่ http://www.seam66.com/blog/?p=622....

Basic ZK Framework ตอนที่ 6 การใช้งาน paging

อันนี้ทำแบบง่ายๆ ครับ คือใช้หลักการ Event Listener แบบ ตอนที่ 5 ครับแต่อันนี้เราจะใช้ onPaging แทน โดยทำดังนี้1. โดยเราไปเขียนเพิ่มที่ Zul File เพิ่ม paging เข้าไป แล้ว เราจะใช้ id เป็นตัวเรียก2. ก็ไป AddEventListener ที่ paging ตัวนั้นเป็น onPaging โดยตัว paging จะมี Config pageSize จะเป็นตัวบอกว่าในหน้านึงมีกี่อันtotalSize...

วันจันทร์ที่ 15 กันยายน พ.ศ. 2551

Basic ZK Framework ตอนที่ 5 วิธี Add EventListener บน Java

การ Add EventListener ก็เหมือนกับว่าเราร้อยสายจาก Java ไปที่หน้าจอน่ะครับ เช่น เราบอกว่า onClick จะให้ไปทำอะไรเราสามารถมาเขียนที่ Java ได้เลย ว่าถ้ามี onclick แล้วจะให้ไปทำอะไรต่อ โดยที่เราไม่ได้ไปทำที่ ZUL File น่ะครับ (ถ้าไม่ เข้าใจโทษทีครับ ลองทำดูจะเข้าใจมากขึ้น) ที่ผมจะสอนคือวิธีแบบธรรมดาที่เราใช้กับพวก...

วันอังคารที่ 9 กันยายน พ.ศ. 2551

Basick ZK Framework ตอนที่ 4 Config ZK ให้เรียก EJB [On Java File]

เหมือนกับตอนก่อนหน้านี้น่ะครับ แต่อันนี้จะเรียกผ่าน Java เลย ซึ่งที่ผมลอง มีได้ตามนี้ครับถ้าเรียกแบบ Remote EJB สามารถเรียกได้อยู๋แล้วนะครับ คือเรียกอบบบอก IP ไปเลยว่าจะไปที่ไหน สามารถเรียกได้ไม่มีปัญหาครับเรียก Local EJB ผมใช้วิธีนี้นะ่ัครับ มีสองวิธี แต่การทำงานคล้ายๆ กัน (โดย Load ใน Servlet ก่อน...

วันจันทร์ที่ 8 กันยายน พ.ศ. 2551

Basick ZK Framework ตอนที่ 3 Config ZK ให้เรียก EJB [On ZUL File]

สามารถใช้เรียกได้หมดเลยนะครับ ที่เรียกโดยใช้ JNDI แต่เรียกบน ZUL File นะครับ โดยเราเพิ่มว่าโหลด JNDIResolver เข้าไปน่ะครับ<?variable-resolver class="org.zkoss.zkplus.jndi.JndiVariableResolver"arg0="ZKSampleEAR" --> ใช้สำหรับบอกว่า Application Name ของ Ear Filearg1="sampleEJB=java:comp/env/ejb/sample/zkservice"...

วันพฤหัสบดีที่ 4 กันยายน พ.ศ. 2551

Basick ZK Framework ตอนที่ 2 มาลองใช้ Zk

มาต่อตอนที่ 2 กันครับ ตอนที่ 1 ดู ที่นี่ตอนนี้มาลองเล่นกันเลยว่ามันทำงานอย่างไรบ้างตัวอย่าง index.zul<?xml version="1.0" encoding="UTF-8"?><?page title="Welcome to ZK Web"?> <-- กำหนดว่า title ของหน้าใช้ชื่ออะไร<window title="Welcome to ZK Web"  border="normal" id="login" use="com.zk.LoginView"...

วันอังคารที่ 2 กันยายน พ.ศ. 2551

Basick ZK Framework ตอนที่ 1 Config ZK

สามารถ Download ได้ ที่นี่เป็น Ajax Framework ที่ไม่ต้องมานั่งเขียน Java script น่ะครับ หาข้อมูลเพิ่มเติมได่ที่หน้าเวบ* สามารถใช้บน Websphere 6.x ได้ครับ ลองมาแล้ว Config เหมือนกันเลยตอนนี้จะบอกว่าเราต้อง Config อะไรเพิ่มใน web.xml บ้างนะ่ครับ ที่จริงก็อ่านได้ตามเวบเหมือนกัน ผมรวบรวมไว้จะได้ค้นง่ายๆเพิ่มส่วนของ...

วันอังคารที่ 29 กรกฎาคม พ.ศ. 2551

Config Servlet Cache Instances [On Websphere 6.0-6.1]

จะสอนวิธี Config Servlet Cache ของ Websphere ซึ่งมีวิธี 3 แบบครับฮธิบายก่อน Servlet Cache คือ การเก็บค่าไว้โดยที่ไม่ต้องทำการประมวณผลใหม่ในกรณีที่เราเข้ามาด้วย parameter เดิมนะครับ (ที่จริงมีกำหนดหลายแบบ ผมขอบอกเฉพาะที่เป็น Parameter นะครับ) เช่น สมมตผมกำหนด ว่าให้ Servlet SampleCache ไว้เป็น Servlet...

วันศุกร์ที่ 4 กรกฎาคม พ.ศ. 2551

Data store tables

Table namePurposeSIBOWNEREnsure exclusive access to the data store by an active messaging engineSIBCLASSMAPCatalogs the different object types in the data storeSIBLISTINGCatalogs the SIBnnn tablesSIBXACTSMaintain the status of active two-phase commit transactionsSIBKEYSAssign unique identifiers to...

วันศุกร์ที่ 9 พฤษภาคม พ.ศ. 2551

วิธีการสร้าง Profile ใหม่บน RAD 6.0

C:\IBM\WAS 6.0\profiles\AppSrv01\installedApps\naphacharaNode01Cell\DefaultApplication.ear\DefaultWebApplication.war\WEB-INFเป็นวิธีการสร้างอย่างง่ายๆ ครับ เพราะมันไม่ยากแค่คลิกๆ แล้วก็จำบางอันว่าให้เอาออกแค่นั้นเองครับ...

วันอังคารที่ 6 พฤษภาคม พ.ศ. 2551

SQL ไว้สำหรับนับจำนวน Cursor ที่เิปิดใน Oracle ครับ

เอาไว้สำหรับดูว่ามี Cursor อะไรเปิดอยู่บ้างใน Oracle ครับselect sid, sql_text from v$open_cursor order by sid, sql_textReferencehttp://forum.java.sun.com/thread.jspa?threadID=135...

วันศุกร์ที่ 2 พฤษภาคม พ.ศ. 2551

Path Log ของ XA Datasource

Path จะอยู๋ประมาณนี้น่ะครับ จะอยู๋ใน tranlog น่ะครับในแต่ละ Profiles ซึ่งสาเหตุที่เราไปลบเพราะว่า บางทีWebsphere จะมี Log Error ค้างอยู่ใน Server ซึ่งที่ผมเห็นจะเกิดจาก XA Datasource น่ะครับ แล้วมันจะค้างตลอดใน Server เราเลยต้องตามไปลบ ไม่งั้นมันก็จะขึ้นตลอดน่ะครับจะขึ้นประมาณข้างล่างนี้น่ะครับ[5/2/08...

วิธีแก้ว่าไม่สามารถใช้ Datasource ที่สร้างใหม่ได้

คือเวลาสร้างเสร็จแล้วลอง Test Connection แล้วไม่สามารถที่จะ Test ผ่านน่ะครับ จะขึ้นประมาณว่าinvalid arguments in callDSRA0010E: SQL State = null, Error Code = 17,433แบบนี้ ผมได้ข้อมูลตามลิงค์ข้างล่างน่ะครับเหตุผลจากคุณ Ken Hygh1) the application isn't closing connections and is thus 'leaking' them.2)...

วันศุกร์ที่ 11 เมษายน พ.ศ. 2551

Guideline สำหรับ Update RAD

อันนี้เป็นแนะนำวิธีการที่จะ Update RAD ผ่าน Update Manager น่ะครับ เพราะบางทีการอัพจะมีปัญหา ผมเลยเขียนขั้นตอนง่าย ว่าควรจะทำอย่างไรเพราะบางที Update ไปแล้วใช้งาน RAD ไม่ได้ ทำให้บางทีอาจจะต้องเสียเวลาลงใหม่ ถ้าเป็น Eclipse ผมคิดว่าไม่น่าจะมีปัญหาอะไรเพราะ ใช้ Copy วางไว้ ไม่ต้องเสียเวลา Update ผ่าน...

ความแตกต่างระหว่าง ConnectionTimeOut กับ ReadTimeOut

เป็นการ Config ของ HTTPURLConnection(JDK1.5) หรือ Socket เพราะบางทีผมเห็นว่าบางคนยังไม่ค่อยเข้าใจ ผมเลยเอามาเขียนให้รู้เื่รื่องกัน อันนี้ตามความเข้าใจของผมนะครับ ถ้าผิดพลาดประการใด ก็ขอโทษด้วยครับConnectionTimeOut จะเป็นการ Config ว่า Connection ที่ติดต่อไปยัง Server สามารถอยู่ได้นานขนาดไหน ถ้าจะให้เห็นภาพ...

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

วิธีการ Stop, Start Websphere 6.1 ผ่าน Command Line

เป็นวิธีการ Stop, Start Websphere Application Server 6.0-6.1 น่ะครับ ทำบน Unix ผ่าน Command Line ถ้าทำบน Windows ผมว่าน่าจะง่ายกว่าน่ะครับ หลัการง่ายๆ ก็ดังนี้สำหรับ Start Serverเราต้องไป Start Manager ก่อน (ซึ้งถ้าเรา Start เสร็จเราจะได้หน้า Admin Console มาครับ) โดยจะอยู่ที่ .../IBM/Websphere/AppServer/bin...

วันศุกร์ที่ 15 กุมภาพันธ์ พ.ศ. 2551

การหาอักขระ สำหรับขึ้นบรรทัดใหม่

โดยปกติ แล้วระว่าง Windows, Linux จะเป็นคนละตัวกันน่ะครับผมเลยใช้วิธีนี้แทนSystem.getProperty("line.separator");จะได้ข้อมูลว่า System นั้น ตกบรรทัดเป้นอะไรน่ะค...

วันอังคารที่ 29 มกราคม พ.ศ. 2551

Config Object Cache Instances [On Websphere 6.0-6.1]

ใช้ Cache ของ Websphere น่ะครับ โดยเราจะต้องเอาค่าเข้าไปเก็บ แล้วเรียกขึ้นมาอีกทีนึงน่ะครับ1. Object cache instances จะอยู่ที่ Resources --> Cache instances2. เลือก New จะได้หน้าจอแบบนี้3. แล้วก็ใน Name กับ JNDI Name...

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

วิธีการใช้งาน Ethereal เบื้องต้น

Ethereal เป็น โปรแกรมที่ไว้ดักจับข้อมูลใน Network ที่ผ่านเข้าออกจากเครื่องเราน่ะครับ บางทีพอเวลาเราเขียนโปรแกรมที่ต้องติดต่อกับระบบข้างนอก (เช่น การใช้ Web Service, XML Over HTTP) เราส่งข้อมูลไปครบ แต่ทำไมส่งไปฝั่งนู้นไม่ครบ...

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

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

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

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

วิธีการแก้ไขปัญหาเมื่อเราไม่เจอ Class ที่เราไปเรียก On Rad 6.0

ไว้ตรวจสอบเวลาเราเล่น Application แล้วหา Class ไม่เจอน่ะครับ (Class Not found) นะครับ1. ตรวจสอบดูที่ Ear Project (application.xml file) โดยดูดังนี้ที่ Tab Deployment ตรงส่วนของ Application ให้ตรง WAR classloader policy :...

วิธีการแก้ไขปัญหาเมื่อเราไม่เจอ JNDI Name On RAD 6.0

เป็นวิธีการดูเป็น Step น่ะครับ ว่าควรจะตรวจสอบอะไรบ้าง ถ้ามันมีปัญหา Exception JNDI Name Not found. น่ะครับ โดย ทำดังนี้1. ต้องตรวจสอบก่อนว่าอันไหนไปเรียก JNDI Name ตัวนั้น (Web Project, EJB Project, Project Client)วิธีการตรวจสอบนั้นให้ตรวจสอบจาก...

วันพุธที่ 9 มกราคม พ.ศ. 2551

Step By Step Create Entity Bean By Rad 6.0

1. Create EJB Project ขึ้นมาก่อน2. สร้าง Map-Relationship โดยคลิกขวาที่ EJB Project เลือก EJB to RDB Mapping จะขึ้นหน้าต่างดังรูป3. ทำการเลือก Create a new backend folder (กรณีที่ยังไม่ได้ทำไว้น่ะครับ ถ้าทำไว้แล้วจะมีอยู่แล้ว)...

EJB Life Cycle

จดไว้เตือนความจำครับ1. Statefull Session Beanเมื่อไม่มี --> create --> SetSessionContext --> ready --> ejbRemove --> Removeเมื่อไม่ได้ใช้งานนานๆ --> ejbPassivate จะใช้ก็ --> ejbActivate2. Stateless Session Beanทุกครั้งจะ create --> SetSessionContext --> ejbRemove --> Remove3....

วันอังคารที่ 8 มกราคม พ.ศ. 2551

Config Hibernate ให้ใช้บน RAD 6.0 + Oracle แบบ EJB

วิธีนี้จะดีกว่าวิธีที่กลาวมก่อนแล้ว เพราะให้ EJB ควบคุม Transaction นะครับ เราไม่จำเป็นต้องเปิด ปิด มัน มันจะ ปิดให้เองโดย EJB ครับ ทำได้ดังนี้1. ต้องเปลี่ยนเป็นใช้ .getCurrentSession() แทน openSession() ครับ ตอนเราเรียก Session มาใช้งาน2. แก้ hibernate.cfg.xml เพื่อบอกมันว่าจะใช้ Transaction ซึ่งแต่ละ...

Config Hibernate ให้ใช้บน RAD 6.0 + Oracle แบบธรรมดา

อันนี้เป็นแบบธรรมดา ไม่ได้ใช้ Transaction ของ Websphere ในการควบคุม (แบบนี้สามารถไปใช้ บนEclipse ได้ด้วย และ Server ไหนก็ได้ครับ) และผมใช้ Datasource ด้วย1. สร้าง Project ขึ้นมาก่อน (Web Project + Ear Project)2. โหลด Hibernate ที่นี่ (ที่ผมใช้เป็น Hibernate 3.2 ครับ)3. Copy Library มาใส่ที่ Project...

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

การเรียก Web Service ผ่าน Java ที่เราทำการ Generate แล้ว

วีธีในการเรียกนั้ เราสามารถที่จะเรียกผ่าน Proxy หรือ Locator ก็ได้ครับ ทำไ้ดัดังนี้1. วิธีการเรียกผ่าน Proxy ทำดังนี้xxxProxy proxy = xxxProxy();proxy.setEndpoint(endpoint); //ไว้สำหรับ Set URL ของ Web Service ที่เราจะไปเรียกproxy.process(); //เรียก Process ที่เราต้องการใช้ใน Web Service นั้น2. เรียกผ่าน...

Step By Step Generate Web Service Client By Eclipse 3.3

Step By Step Generate Web Service Client By Eclipse 3.3เป็นวิธีการสร้าง Web Service Client ไปเรียก Web Service ในกรณีที่เรามี WSDL File อยู่แล้วนะครับ1. ขั้นแรกโหลด Eclipse 3.3 มาก่อนโหลด ที่นี่ โหลดที่เป็นสำหรับ Java EE...