求助:关于异常org.hibernate.transaction.jdbctransaction.rollback (急!!!!!!!!!!!!)

liutierui 2008-04-14 04:32:43
小弟最近碰到一个问题,
数据库是oracle10g 用了Hibernate3.0 网站运行一段时间后,一些需要查询数据库的页面报错,看日志就报这个错误,求助···········
希望各位大哥帮帮忙(@_@)

2008/04/08 14:31:52 <ERROR>,com.nec.jp.cts.service.inquire.InquireListSearchServiceImpl@1431202,org.springframework.transaction.TransactionSystemException
org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
org.hibernate.TransactionException: JDBC rollback failed
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:170)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:603)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:583)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:560)
at org.springframework.transaction.interceptor.TransactionAspectSupport.doCloseTransactionAfterThrowing(TransactionAspectSupport.java:285)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:100)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
at $Proxy71.roInquireListSearchSearch(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:118)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
at $Proxy72.roInquireListSearchSearch(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:137)
at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:115)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:548)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:302)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:93)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:156)
at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:46)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:130)
at flex.messaging.endpoints.AMFEndpoint.service(AMFEndpoint.java:164)
at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:340)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at jrunx.util.DynamicClassLoaderFilter.doFilter(DynamicClassLoaderFilter.java:48)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:204)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Caused by: java.sql.SQLException: ソケットから読み込むデータはこれ以上ありません。
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.DatabaseError.check_error(DatabaseError.java:885)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:991)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:941)
at oracle.jdbc.driver.T4C7Ocommoncall.receive(T4C7Ocommoncall.java:97)
at oracle.jdbc.driver.T4CConnection.do_rollback(T4CConnection.java:465)
at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:997)
at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
...全文
1482 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liutierui 2008-04-16
  • 打赏
  • 举报
回复
java2000_net :
我再请教一下,我的项目的连接池用的是Hibernate自带的连接池,
是不是因为这个引起的呀,我查资料的时候哦,都说不要用的,说它自身有BUG,
是不是应该换成c3p0就可以呀?
liutierui 2008-04-16
  • 打赏
  • 举报
回复
panxuan,,
我们的项目中,没有用过rollBack 的处理,
有的话,就好找了,直接关闭就行了,唉~~
panxuan 2008-04-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dracularking 的回复:]
有没有做好资源释放和关闭的工作 在rollback之后的finally中
[/Quote]
liutierui 2008-04-16
  • 打赏
  • 举报
回复
程序是可以运行的,只是在运行了一段时间之后,就会出现上面的问题,
我们的项目现在用的是ojdbc14.jar ,,
更新一下这个驱动试试吧,,非常感谢您的回答,
老紫竹 2008-04-14
  • 打赏
  • 举报
回复
Caused by: java.sql.SQLException:no more data is read from the socket.


根据经验,如果你的程序能运行过,那么请你更新你的 jdbc 驱动. 我怀疑是驱动的BUG

老紫竹 2008-04-14
  • 打赏
  • 举报
回复
Caused by: java.sql.SQLException: ソケットから読み込むデータはこれ以上ありません。

真可惜,我看不懂这个是舍么意思!

错误就在那里!
liutierui 2008-04-14
  • 打赏
  • 举报
回复
我这都是在做查询的页面上出的问题,并没有调用RollBack的呀,
另外事务处理都是Spring 控制的呀,
dracularking 2008-04-14
  • 打赏
  • 举报
回复
有没有做好资源释放和关闭的工作 在rollback之后的finally中
liutierui 2008-04-14
  • 打赏
  • 举报
回复
以下是Hibernate.cfg.xml部分内容:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!--
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<property name="connection.datasource">java:comp/env/CONTACT_DB</property>
<property name="format_sql">true</property>
<property name="show_sql">true</property>
-->
<!-- DB プール start-->
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.username">cab_jp</property>
<property name="connection.password">cab_jp</property>
<property name="connection.url">jdbc:oracle:thin:@192.160.9.25:1521:orcl</property>
<property name="format_sql">true</property>
<property name="show_sql">false</property>
........
........




liutierui 2008-04-14
  • 打赏
  • 举报
回复
有没有哪位大哥可以回答一下啊,小弟在线等!!
spring的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--DB Session Factory start-->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>/WEB-INF/conf/hibernate.cfg.xml</value>
</property>
</bean>
<!--DB Session Factory end-->
<!-- ログ bean start-->
<bean id="accessLogger" class="com.nec.jp.cts.aop.AccessLogProcessor"/>
<bean id="throwsLogger" class="com.nec.jp.cts.aop.ThrowsLogProcessor"/>
<!-- ログ bean end-->
<!-- TRANSACTION マネージャ  start-->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<!-- TRANSACTION マネージャ  end-->
<!-- TRANSACTION インターセプタ start -->
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<!-- <prop key="*">PROPAGATION_REQUIRED</prop>-->
<prop key="ro*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="tx*">PROPAGATION_REQUIRED, -UnCommitableException, +CommitableException</prop>
</props>
</property>
</bean>
<!-- TRANSACTION インターセプタ end -->

<!-- TRANSACTION AUTO PROXY start-->
<bean id="transactionProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
<value>accessLogger</value><!-- ここへ置いて、元クラス名は出力されている-->
</list>
</property>
<property name="beanNames">
<value>*Service</value>
</property>
</bean>
<!-- TRANSACTION AUTO PROXY end -->

<!-- ログ AUTO PROXY start-->
<bean id="logProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="proxyTargetClass">
<value>false</value>
</property>
<property name="beanNames">
<value>*Service</value>
</property>
<property name="interceptorNames">
<list>
<value>throwsLogger</value>
</list>
</property>
</bean>
<!-- ログ AUTO PROXY end-->
</beans>

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧