0

我正在使用 ejb3 处理 Java 中的大型企业应用程序。

我在以下查询> 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 使用 oracle 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 回答