1

以下异常出现在特定服务器中,问题不一致。

org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is java.sql.SQLException:
Connection is not associated with a managed connection.org.jboss.resource.adapter.jdbc.jdk6.WrappedConnectionJDK6@49828f4c
    at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:296)
    at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:320)
    at org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:213)
    at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:141)
    at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>(SQLErrorCodeSQLExceptionTranslator.java:104)
    at org.springframework.jdbc.support.JdbcAccessor.getExceptionTranslator(JdbcAccessor.java:99)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:969)
    at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:1003)
    at org.springframework.jdbc.object.StoredProcedure.execute(StoredProcedure.java:144)
    at com.watsons.tfo.sp.dao.SPSaveTransactionDetail.execute(SupplierPromotionDaoImpl.java:3354)
    at com.watsons.tfo.sp.dao.SupplierPromotionDaoImpl.savePromoTransaction(SupplierPromotionDaoImpl.java:422)
    at com.watsons.tfo.sp.service.SupplierPromotionServiceImpl.savePromoTransaction(SupplierPromotionServiceImpl.java:158)
    at sun.reflect.GeneratedMethodAccessor1010.invoke(Unknown Source)

--

org.springframework.dao.RecoverableDataAccessException: CallableStatementCallback; SQL [{call PKG_TFO_SUPPLIER_PROMOTION.PR_INS_SAVE_TRANSACTION_DET(?, ?)}]; No more data to read from socket; nested exception is java.sql.SQLRecoverableException: No more data to read from socket
    at com.watsons.tfo.sp.service.SupplierPromotionServiceImpl.savePromoTransaction(SupplierPromotionServiceImpl.java:160)
    at sun.reflect.GeneratedMethodAccessor1010.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy206.savePromoTransaction(Unknown Source)
    at com.watsons.tfo.sp.controller.SupplierPromoTransactionController.saveSupplierPromoTransaction(SupplierPromoTransactionController.java:1077)
    at com.watsons.tfo.sp.controller.SupplierPromoTransactionController$$FastClassByCGLIB$$8994f9f9.invoke(<generated>)

首先我认为是因为连接陈旧,所以我在 oracle-ds.xml 中添加了陈旧连接检查器。但是问题又来了

请帮我解决这个问题。

4

1 回答 1

1

禁用 CachedConnection 管理器

   <Valve className="org.jboss.web.tomcat.tc5.jca.CachedConnectionValve"
    cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
    transactionManagerObjectName="jboss:service=TransactionManager" />

server.xml 中提到了上述标签。这个cachedconnectionvalve should be turned off in production server

当 Web 请求结束时,CCV 会自动关闭所有 JCA 连接,在生产中您希望禁用此功能。

有两个主要的配置参数对性能和可伸缩性有直接影响:缓存连接管理器和 HTTP 会话复制。

CachedConnectionManager 配置为处于调试模式的 servlet 容器中。它也在生产配置中配置,但调试模式关闭。

我在 server.xml 文件的末尾评论了 CachedConnectionValve。

还在 META-INF/jboss-service.xml 中评论了 CachedConnectionManager。

“连接未与托管连接关联”消失了,应用程序运行良好。

更新:

在 oracle 日志文件中又发现了一个相同错误的日志...

Oracle 版本:Oracle 数据库 11.2.0.2

IE XMLSEQUENC/EEXTRACT FAILS WITH ORA-7445[__INTEL_NEW_MEMCPY()+5395]

这是oracle DB版本中XML处理的错误,然后

经oracle人指导,更新了oracle的补丁(11666959)。

在oracle网站中也提到了这一点。

11666959 is required for the release utility; XMLSEQUENC/EEXTRACT FAILS WITH ORA-7445[__INTEL_NEW_MEMCPY()+5395] IN 11.2.0.2
于 2012-10-13T04:34:12.097 回答