freemarker+webwork+ebj2+Hibernate3開發物件傳遞問題
專案中用freemarker+webwork+ejb2.0+Hibernate3的開發架構。
主要流程是透過在webwork中呼叫ejb的SessionBean(remote方式).然後在ejb中呼叫dao操作hibernate.相當於用hibernate代替CMP.在開發過程中有個問題一直困擾我,希望各位給些意見。
ejb佈署在weblogic9,ejb啟動時就初始化好了所有東西,主要是一些通用的jar包和業務實現,包括hibernate的配置檔案。web層(freemarker+webwork)是在tomcat5中開發和佈署。
我是這樣操作的,先在webwork的action中透過id取出要修改的物件dbProduct,然後把修改後的product(介面修改的)一一付值給dbProduct,最後呼叫sessionbean的modifyProduct(Product dbProduct)方法時經常會丟擲一個這樣原因的異常。
java.rmi.MarshalException: CORBA MARSHAL 0 No; nested exception is:
org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: No
at com.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:197)
at javax.rmi.CORBA.Util.mapSystemException(Util.java:67)
at com.dmx.cbill.spi._Product_Stub.modifyPackageProduct(Unknown Source)
at com.dmx.cbill.backoffice.product.ProductManagerAction.modifyPackage(ProductManagerAction.java:1000)
at com.dmx.cbill.backoffice.product.ProductManagerAction.execute(ProductManagerAction.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
.....中間一大堆就刪了,不是主要的資訊。
Caused by: org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:897)
at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:99)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:572)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:430)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:326)
at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:129)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
... 73 more
2007-05-15 16:17:14 INFO EJBInitInterceptor:70 - EJBHome介面初始化狀態:true
2007-05-15 16:17:14 INFO LoadResourceInterceptor:37 - LoadResourceInterceptor is beginning
2007-05-15 16:17:14 INFO LoadResourceInterceptor:58 - LoadResourceInterceptor is ended
我在ejb的modify...方法的第一行log資訊,但weblogic沒有列印任何東西。
後來在一位同事的幫助下,改了改。異常就不出現了。還是在action中呼叫sessionbean的modify方法,但這回直接傳product(介面修改的)過去,然後在ejb的方法中再透過id取出要修改的物件dbProduct,然後把修改後的product一一付值給dbProduct,最後修改.
是不是因為兩個容器(一個weblogic9,一個tomcat5.)的原因?也就是說tomcat透過ejb取出weblogic中hibernate session關聯的物件再傳回weblogic修改就不行了?
主要流程是透過在webwork中呼叫ejb的SessionBean(remote方式).然後在ejb中呼叫dao操作hibernate.相當於用hibernate代替CMP.在開發過程中有個問題一直困擾我,希望各位給些意見。
ejb佈署在weblogic9,ejb啟動時就初始化好了所有東西,主要是一些通用的jar包和業務實現,包括hibernate的配置檔案。web層(freemarker+webwork)是在tomcat5中開發和佈署。
我是這樣操作的,先在webwork的action中透過id取出要修改的物件dbProduct,然後把修改後的product(介面修改的)一一付值給dbProduct,最後呼叫sessionbean的modifyProduct(Product dbProduct)方法時經常會丟擲一個這樣原因的異常。
java.rmi.MarshalException: CORBA MARSHAL 0 No; nested exception is:
org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: No
at com.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:197)
at javax.rmi.CORBA.Util.mapSystemException(Util.java:67)
at com.dmx.cbill.spi._Product_Stub.modifyPackageProduct(Unknown Source)
at com.dmx.cbill.backoffice.product.ProductManagerAction.modifyPackage(ProductManagerAction.java:1000)
at com.dmx.cbill.backoffice.product.ProductManagerAction.execute(ProductManagerAction.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
.....中間一大堆就刪了,不是主要的資訊。
Caused by: org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:897)
at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:99)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:572)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:430)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:326)
at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:129)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
... 73 more
2007-05-15 16:17:14 INFO EJBInitInterceptor:70 - EJBHome介面初始化狀態:true
2007-05-15 16:17:14 INFO LoadResourceInterceptor:37 - LoadResourceInterceptor is beginning
2007-05-15 16:17:14 INFO LoadResourceInterceptor:58 - LoadResourceInterceptor is ended
我在ejb的modify...方法的第一行log資訊,但weblogic沒有列印任何東西。
後來在一位同事的幫助下,改了改。異常就不出現了。還是在action中呼叫sessionbean的modify方法,但這回直接傳product(介面修改的)過去,然後在ejb的方法中再透過id取出要修改的物件dbProduct,然後把修改後的product一一付值給dbProduct,最後修改.
是不是因為兩個容器(一個weblogic9,一個tomcat5.)的原因?也就是說tomcat透過ejb取出weblogic中hibernate session關聯的物件再傳回weblogic修改就不行了?
相關文章
- 一個STL物件的DLL邊界傳遞問題物件
- 物件鎖:傳遞物件鎖物件
- 使用Intent傳遞物件Intent物件
- 請教一個rmi分佈運算或者傳遞物件的問題!物件
- AXIS - 傳遞自定義物件物件
- php傳遞json給jquery的問題PHPJSONjQuery
- String型別函式傳遞問題型別函式
- PHP中物件的引用傳遞PHP物件
- Android Fragment 間物件傳遞AndroidFragment物件
- Asp-Net-Core開發筆記:介面返回json物件出現套娃遞迴問題筆記JSON物件遞迴
- Mybatis引數傳遞&註解開發MyBatis
- 二維陣列作為引數傳遞問題陣列
- rake 任務引數傳遞問題解決
- 一個關於值傳遞呼叫的問題
- Android開發 - Serializable 介面對物件進行“打包”傳遞和接收後“解包”解析Android物件
- Android intent傳遞list或物件AndroidIntent物件
- 面試官問:Go 中的引數傳遞是值傳遞還是引用傳遞?面試Go
- java值物件的傳輸問題請教Java物件
- 解決CORS跨域不能傳遞cookies的問題CORS跨域Cookie
- Python-單繼承中值傳遞的問題Python繼承
- 分頁及查詢引數傳遞問題分享
- 不同資料庫間傳遞資料的問題資料庫
- 系統許可權傳遞和物件許可權傳遞的測試物件
- 給vue元件傳遞物件或是陣列Vue元件物件陣列
- Android 通過 Intent 傳遞類物件AndroidIntent物件
- PHP 物件導向 (四)類物件賦值為引用傳遞PHP物件賦值
- 引數傳遞中編碼問題(Get/Post 方式)(一)
- 引數傳遞中編碼問題(Get/Post 方式)(二)
- 請教一個JSF引數傳遞的問題JS
- (求教)關於js函式按值、引用傳遞的問題JS函式
- ajax使用url傳遞中文引數亂碼問題解決
- JSP中四種傳遞引數中文亂碼問題JS
- 請教一個在Tiles中引數傳遞的問題
- [20160125]閉包傳遞問題.txt
- 值傳遞與引用傳遞
- 值傳遞和引用傳遞
- ajax從JSP傳遞物件陣列到後臺JS物件陣列
- 如何在JSP頁面中傳遞類物件JS物件