求救:spring+struts+hibernate事务

来源:百度知道 编辑:UC知道 时间:2024/05/22 19:38:37
最近用spring+struts+hibernate在tomcat6中部署了一个项目,一切都正常,只是睡一晚上起来再打开就出现以下异常,然后刷新一下就又没事了。什么原因?望大位大虾指点迷津。
exception javax.servlet.ServletException: org.springframework.transaction.CannotCreateTransactionException:
Could not open Hibernate Session for transaction;
nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
是事务配错了吗?事务配置如下:
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" isolation="REPEATABLE_READ"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="txnServices&qu

你用的是声明式事务 我这有个完整的你看看 是2.0的
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory"></ref>
</property>
</bean>

<tx:advice id="myadvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED" rollback-for="Exception"/>
</tx:attributes>
</tx:advice>

<aop:config>
<aop:pointcut id="mypoint" expression="execution(* com.*.*(..))"/> <!-- 必须后面为两个*.* 如果UserSerivce放到com.serivce.bean下就是com.bean.*.*如果放到com.bean下就为com.*.* 总之是提前两级目录 -->
<aop:advisor advice-ref="myadvice" pointcut-ref="mypoint"/>
</aop:config>