2012-05-06 63 views
0

我與EJB3 Java中大型企業應用程序的工作。異常:javax.resource.spi.ResourceAdapterInternalException:意外的錯誤

我正在從數據庫查詢以下> SELECT含量TBLMXML幫助XML內容。 並獲得該內容與下面的代碼幫助:

if(rowSet.getObject("CONTENT") instanceof oracle.sql.OPAQUE){ 

XMLType xmlType = XMLType.createXML(((oracle.sql.OPAQUE) rowSet.getObject("CONTENT")); 

} 

但是,當此查詢解僱我收到以下錯誤:

14:21:15,698 : [WARN ] : [TxConnectionManager] : Connection error occured: org.jboss.resource.[email protected]1357dfa[state=NORMAL [email protected]1897e13 handles=1 lastUse=1336294101874 permit=true trackByTx=true mcp=org.jbos[email protected]9f08ca context=org[email protected]fa3d7c xaResource=org.jboss[email protected]191a3ed txSync=null] 
javax.resource.spi.ResourceAdapterInternalException: Unexpected error 
    at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.broadcastConnectionError(BaseWrapperManagedConnection.java:409) 
    at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.connectionError(BaseWrapperManagedConnection.java:385) 
    at org.jboss.resource.adapter.jdbc.WrappedConnection.checkException(WrappedConnection.java:865) 
    at org.jboss.resource.adapter.jdbc.WrappedStatement.checkException(WrappedStatement.java:852) 
    at org.jboss.resource.adapter.jdbc.WrappedResultSet.checkException(WrappedResultSet.java:1947) 
    at org.jboss.resource.adapter.jdbc.WrappedResultSet.getObject(WrappedResultSet.java:768) 
    at oracle.jdbc.rowset.OracleCachedRowSet.populate(OracleCachedRowSet.java:2078) 
    at com.elitecore.billingengine.ejb.base.BillingSearchSessionBase.execute(BillingSearchSessionBase.java:125) 
    at com.elitecore.billingengine.ejb.billcommon.session.CacheDataProviderSessionBean.populateDataMap(CacheDataProviderSessionBean.java:196) 
    at com.elitecore.billingengine.ejb.billcommon.session.CacheDataProviderSessionBean.retrieveDataQuery(CacheDataProviderSessionBean.java:158) 
    at com.elitecore.billingengine.ejb.billcommon.session.CacheDataProviderSessionBean.getMapForCache(CacheDataProviderSessionBean.java:72) 
    at sun.reflect.GeneratedMethodAccessor362.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.jboss.invocation.Invocation.performCall(Invocation.java:386) 
    at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:228) 
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:156) 
    at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:173) 
    at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63) 
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121) 

請讓我知道我缺少什麼。 ??使用oracle 10g的M使用 。

在此先感謝

回答

2

您正在使用什麼版本的JBoss?我有一個使用JBoss 5的非常類似的問題,我通過以下方法解決了這個問題:

試着看看你的oracle-ds.xml文件(它可以有任何名稱,只要它在結束 - ds.xml)。請確保您已經配置了<min-pool-size>以及<max-pool-size>標籤。

參照這裏在JBoss中5配置Oracle數據源,引導可以發現here