连接与托管连接无关,“Jboss Server中的Spring应用程序”

时间:2012-10-03 12:52:32

标签: spring jboss jboss6.x

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

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中添加了陈旧的连接检查器。但问题又出现了

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

禁用CachedConnection Manager

   <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

CCV automatically closes all JCA connection when web request ends, in production you want to disable this.

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

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

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

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

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

更新:

在oracle日志文件中找到另一个相同错误的日志...

Oracle版:Oracle Database 11.2.0.2

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