0

私は、ejb3 を使用して Java で大規模なエンタープライズ アプリケーションを使用しています。

以下の query> SELECT CONTENT FROM 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.connectionmanager.TxConnectionManager$TxConnectionEventListener@1357dfa[state=NORMAL mc=org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@1897e13 handles=1 lastUse=1336294101874 permit=true trackByTx=true mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@9f08ca context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@fa3d7c xaResource=org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@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)

私が欠けているものを教えてください。?? M オラクル 10g を使用しています。

前もって感謝します

4

1 に答える 1

2

JBoss のどのバージョンを使用していますか? JBoss 5を使用して非常によく似た問題が発生し、以下を実行して解決しました:

oracle-ds.xml ファイルを調べてみてください( -ds.xmlで終わる限り、任意の名前にすることができます)。タグ<min-pool-size>と同様に設定したことを確認してください。<max-pool-size>

JBoss 5 での Oracle データソースの設定については、こちらを参照してください。ガイドはこちらにあります

于 2013-05-08T11:21:42.620 に答える