目前分類:程式設計 (23)

瀏覽方式: 標題列表 簡短摘要

Entity 不要使用 primitive type

否則當 DB 中資料為 null ,在進行 mapping 時會出現

Null value was assigned to a property of primitive type setter ...

將 Entity 中的型別都使用 Java 型別即可。 

 

babyincar 發表在 痞客邦 留言(4) 人氣()

1_website.JPG

本文將簡介如何使用Hibernate Tools For Eclipse and Ant Plugins
透過Reverse Engineering來產生
O/R mapping class, mapping files or annotated EJB3 entity beans

首先搜尋keyword Hibernate tools
Hibernate 官網下載頁下載,本文下載版本為3.2.4GA

 

babyincar 發表在 痞客邦 留言(1) 人氣()

一般要使用log4j寫log,都直接在一個system util class中
public static Category logger = null;
static {
logger = Logger.getLogger("A_project");
}
然後在各project src裡,寫個log4j.properties來做些細部設定
只有一個project時,使用上並沒有什麼問題
但當有多個projects時,問題就來了

babyincar 發表在 痞客邦 留言(1) 人氣()




本文要討論的是如何在weblogic上deploy shared lib
以及application的版號控制和引用lib


關於欲共用的lib(ex: log4j, framework...)
以往是直接將其上傳至domain下的lib資料夾
不過此方式除了管理不易外,在deploy application時還會造成一些奇怪的問題
如log4j無法印出訊息,更新framework時,ap無法正確載入...


透過以下方式進行deploy將可解決上述問題


babyincar 發表在 痞客邦 留言(0) 人氣()

與原廠連線時會先利用以下方式偵測connection是否暢通


URL url = new URL("https://xxx");
HttpURLConnection http_conn = (HttpURLConnection) url.openConnection();
http_conn.setConnectTimeout(timeout.intValue());
http_conn.connect();


but project裡的lib 放入 wlfullclient.jar後
default SSL license file似乎被改變

babyincar 發表在 痞客邦 留言(0) 人氣()

最近真的是被EJB搞得快昏倒
經常因為很多莫名的問題,造成進度走走停停


像是,明明上次才deploy成功,結果這次突然又不行
或是,明明在local測試成功,結果deploy到linux上的j2ee server,就又出問題


像是這次
假設玲從skype01呼叫我local的project是Ok的
之前他也成功呼叫過dustin local project


但是,他她改呼叫linux上的weblogic cluster
卻又出現呼叫錯誤

babyincar 發表在 痞客邦 留言(1) 人氣()

J2EE server: Weblogic
發生時機:Web project 呼叫 EJB 取回 訂單資訊物件OrderStatusVO時


EJB 去 DB查詢出資料,直接將entity裡的日期變數set給vo
但是web project 取到OrderStatusVO時
日期欄位卻是null


如果web project lib 用的是
Server_weblogic\modules\org.apache.openjpa_0.9.7.jar
則不會有exception

babyincar 發表在 痞客邦 留言(0) 人氣()

project在local weblogic運作正常
deploy到linux上的weblogic cluster上後,則出現奇怪錯誤


server: weblogic cluster
datasource: 使用一XA type multi datasource 載入兩個data sources
project:多個project,包含nas and sem


web project呼叫nas時,出現
Failed to load class org.apache.openjpa.persistence.ArgumentException


babyincar 發表在 痞客邦 留言(0) 人氣()

JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this pa
rticipation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or Em
ulateTwoPhaseCommit for the Data Source = NAS_DEVRAC_DS


Weblogic Server中分別建立了兩個XA type以及兩個Non-XA type的data sources
再分別建立兩個Multi data sources : NAS_DEVRAC_DS and rac_ds
NAS_DEVRAC_DS加入上述兩個Non-XA type data sources
rac_ds加入上述另兩個XA type data sources


babyincar 發表在 痞客邦 留言(0) 人氣()

J2EE Server:Weblogic
Persistent framework: Kodo
mapping設定產生方式: MyEclipse Enterprise WorkbenchVersion: 5.5.1 GA
EJB3 Reverse Engineering annotation


=====================================================
問題一:新增一對多關聯的子項資料時,ManyToOne的物件必須要是persistent object,不能new 一個父object 然後set PK,否則會出現錯誤

babyincar 發表在 痞客邦 留言(0) 人氣()




昨天凌晨不曉得從幾點開始
手機就一直發出伊伊歪歪的簡訊聲

睡夢間勉強睜眼看了一下
瞧瞧是不是美眉半夜睡不著,傳簡訊來聊天
....
啥?
黑暗中,隱約看到AlertType....Problem...
系統好像有問題?


這時我秉持著認真負責的精神
準備馬上起身處理
但短暫性昏厥的舊疾在此時突然發作
頭殼一陣暈眩
咻~~~~~身體不聽使喚的倒回被窩.....
噢...我也是千百個不願意阿....


一早到公司,交易似乎依然掛點,無法至原廠開訂單
於是一早就忙著跟洋人開始debug


babyincar 發表在 痞客邦 留言(3) 人氣()

最近在oc4j上採用EJB3開發程式
在傳遞entity物件時
老是出現以下錯誤


2007/11/26 下午 12:37:33 oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
警告: Exception returned by remote server: {0}
com.evermind.server.rmi.RMIConnectionException: Disconnected: com.pchome.nas.persistence.entity.NasLog; local class incompatible: stream classdesc serialVersionUID = -5326236212174873117, local class serialVersionUID = 5777183428887744502
at com.evermind.server.rmi.RmiCallQueue.notifyQueuedThreads(RmiCallQueue.java:70)

babyincar 發表在 痞客邦 留言(0) 人氣()

這幾天在deploy EJB3 project到oc4j時,遇到了奇怪的問題
deploy時都正常,並無錯誤訊息
但client在呼叫時,卻又無法成功呼叫,產生以下error


Client端得到的error
2007/11/19 下午 06:11:19 oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
警告: Exception returned by remote server: {0}
javax.ejb.EJBException: java.lang.ArrayIndexOutOfBoundsException: 10221; nested exception is:
java.lang.ArrayIndexOutOfBoundsException: 10221; nested exception is: oracle.oc4j.rmi.OracleRemoteException: java.lang.ArrayIndexOutOfBoundsException: 10221; nested exception is:
java.lang.ArrayIndexOutOfBoundsException: 10221
oracle.oc4j.rmi.OracleRemoteException: java.lang.ArrayIndexOutOfBoundsException: 10221
at com.evermind.server.ejb.EJBUtils.getUserException(EJBUtils.java:346)

babyincar 發表在 痞客邦 留言(0) 人氣()

今天在local使用ant時,出現了奇怪的錯誤


C:\>ant
Unknown argument: -cp
ant [options] [target [target2 [target3] ...]]


我根本迷有輸入-cp阿,怪怪...


Google了一下,找到了些solutions
==============================
Solution 1:
ant failure (1): Unknown argument: -cp
ant [options] [target [target2 [target3] ...]]

This is indicative of this conflict.

To work around this problem, you'll need to comment out the "ANT_HOME=/usr/share/ant" line in /etc/ant.conf

see http://www.activegrid.com/products/eng/docs/faq.html

babyincar 發表在 痞客邦 留言(1) 人氣()

最近jeff在做購買頁左邊的選單連結
遇到了一點小問題


在IE中,要使用getElementsByName取得物件集合一定要是
form底下的input物件才可正常取得


如果是 div or span,IE會無法取得,FF則正常
除非,name 以及 id 這兩個屬性同時都有,並且值相同
以下是範例

babyincar 發表在 痞客邦 留言(0) 人氣()

●發生時機
Server to Server HTTP Post request
Client Control接收到 Server 回傳的資料後
將值set進attribute送到jsp alert
browser 會發生錯誤


●錯誤
有時會產生

無法判定字串常數的結尾
錯誤: unterminated string literal


●解決
Client Control先將接到的資料trim()後再set進attribute
alert即可正常


babyincar 發表在 痞客邦 留言(0) 人氣()

騎蟲傳給我看的
裡面有很多關於軟體開發不錯的文章

中英文都有ㄟ
裡面還有一篇 軟體人員面試教戰守則 耶
趕快研讀一下

約耳談軟體(Joel on Software)

babyincar 發表在 痞客邦 留言(0) 人氣()





沒看過的錯誤訊息...

babyincar 發表在 痞客邦 留言(0) 人氣()

In some cases
當client尚未發出http request給
com.opensymphony.webwork.dispatcher.ServletDispatcher之前
webwork似乎尚未initial
因此操作ServletActionContext裡的方法經常有null之類的錯誤

例如我們會採用listener在web ap server start時
將property載入並set進application
再寫個SECSystemUtil class 提供static方法來存取application中的property

static {
logger = Logger.getLogger("sec");

context = ServletActionContext.getServletContext();
login_prop = (Properties) context.getAttribute("login_pram");
system_prop = (Properties) context.getAttribute("system_pram");
}
但假如在webwork尚未initial前,用servlet or jsp去call SECSystemUtil
則ServletActionContext.getServletContext()會產生錯誤

所以要在call SECSystemUtil 前先set一些東東 (see sec project RateQuery)

public class RateQuery extends HttpServlet{
public void init(ServletConfig config){

ServletActionContext.setServletContext(config.getServletContext());
....
}
}

或是在jsp中(see myskype top.inc)

com.opensymphony.webwork.ServletActionContext.setRequest(request);

babyincar 發表在 痞客邦 留言(0) 人氣()

更換了resin,結果jstl無法正常顯示


因為web container改變
導致無法正確載入web.xml相關設定
前端jstl 會無法顯示,taglib tag也出錯

之前web.xml裡的寫法

< !DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">


< web-app>
...
< taglib>
< taglib-uri>webwork< /taglib-uri>
< taglib-location>/WEB-INF/lib/webwork-nostatic-2.2.2.jar< /taglib-location>
< /taglib>
...
< /web-app>


這次resin升級,應該換成了支援Servlet2.4 以及 JSP2.0以上版本的container
web.xml中的設定要跟著更改

babyincar 發表在 痞客邦 留言(0) 人氣()

1 2