上星期作的一個接口程序原打算和整個項目一起發佈就可以了,後來通知說要該接口要做成獨立程序。麻煩...
因爲集成了spring+hibernate只有2種辦法了一個是桌面程序swing,以前風風火火的搞過幾個月, 想想也有一年多沒摸了;還是採用第2種方法,做成web程序吧,有myeclipse應該挺快的。
首先要有一個web服務器,正好手頭有一臺裝了weblogic7,但不知道spring1.2、hibernate和weblogic7的集成如何,聽同事說weblogic只支持到jdk1.4。先試試吧。
這是昨天下班前,今天早上一來就開始進行集成測試。
首先,按照myeclipse的手冊生成了一個底層是hibernate的webproject,發佈到weblogic上運行Ok。
接着,生成spring+hibernate的webproject,發佈到weblogic,jsp調用的後臺類說version錯誤,原來是jdk的問題,我的eclipse的jdk是5.0,換成weblogic用的1.4重新編譯下發布ok。但是緊接着出現了更嚴重的問題,一運行測試jsp,weblogic的命令臺就自動跳出了,weblogic中斷。真不知道是什麼原因,work over:通過開始程序啓動weblogic域weglogic遇錯不會將控制檯關閉,找到了原因,在spring中<property name="hibernateProperties">加入
<prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
所有weblogic的問題都迎刃而解,下面jboss的3個問題也不是問題了,1運行起來很快,也就是2秒;2日誌不用特殊配置直接放到該域下;3spring調度ok。看來weblogic、jboss真是難以取捨!
上面同樣的程序發佈到jboss4,就運行得好好的,我的接口程序也能夠正常存取數據,只是有3點問題:
1、運行起來好慢,在eclipse下執行之需要2、3秒鐘,在jboss下執行卻用了3分鐘。頂蓋呢?
原來是我寫程序的問題,將spring環境的加載設置成靜態的,運行起來甚至都不用1秒呢。
2、jboss在控制檯捕獲了本應該輸出到文件的log4j配置,weblogic是沒有問題的。正在找解決辦法。
剛把這篇文章發佈到csdn,就發現那邊的文件日誌成功生成了,辦法如下——
首先修改C:\Program Files\jboss-4.0.3SP1\server\default\conf\jboss-service.xml,在
<attribute name="ConfigurationURL">resource:log4j.xml</attribute>下面增加屬性
<attribute name="CatchSystemOut">false</attribute>
接着將我web project中的log4j配置移到C:\Program Files\jboss-4.0.3SP1\server\default\conf\log4j.xml,
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.home.dir}/log/VvgooYskInterface.log"/>
<param name="Append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n"/>
</layout>
</appender>
<category name="jeffenLogger">
<priority value="INFO"/>
<appender-ref ref="VvgooYskInterface"/>
</category>
3、spring的調度配置好像不能通過應用服務器的初始化,放在最後解決巴。
很高興,今早一上班,發現部署到jboss的spring調度程序運行ok。