2 u010370084 u010370084 于 2016.03.22 10:26 提问

求助spring事务异常,报错报了昨天一天了55555,在线等啊

就是一直都报这个错,昨天一天都没解决,感觉是确实一个方法,NoSuchMethodError:org.springframework.jdbc.datasource.DataSourceTransactionManager.determineTimeout,我导入源码看不到这个方法,只有一个调用它的参数,,,求大牛或者神牛帮帮忙,拜托了。。。。困扰了一天啊,,,,!!!整个人都不好了,在线等!!

报错信息:

 Exception in thread "main" org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.lang.NoSuchMethodError: org.springframework.jdbc.datasource.DataSourceTransactionManager.determineTimeout(Lorg/springframework/transaction/TransactionDefinition;)I
    at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:242)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:283)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:225)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:89)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at sun.proxy.$Proxy12.buyOneBook(Unknown Source)
    at org.Tran.Service.Imp.BuySomeBookImp.buySomeBook(BuySomeBookImp.java:17)
    at org.Tran.Test.Main.main(Main.java:16)
Caused by: java.lang.NoSuchMethodError: org.springframework.jdbc.datasource.DataSourceTransactionManager.determineTimeout(Lorg/springframework/transaction/TransactionDefinition;)I
    at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:229)
    ... 10 more

我的springConf.xml配置如下

 <?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-4.0.xsd 
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

    <context:annotation-config/>
    <context:component-scan base-package="org.Tran.*"/>

    <context:property-placeholder location="classpath:org/Tran/db.properties"/> 

    <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        </bean>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
        <property name="configLocation" value="classpath:org/Tran/xml/MybatisConf.xml"/>  
        <property name="dataSource" ref="dataSource" />  
    </bean> 

    <bean id="bookMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">  
       <property name="mapperInterface" value="org.Tran.DAO.BookDAO"/>  
       <property name="sqlSessionFactory" ref="sqlSessionFactory"/>  
    </bean> 

    <!--1. 事务配置 -->
    <bean id="transactionManager" 
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource" />
            <property name="nestedTransactionAllowed" value="true"/>
    </bean>
    <!-- 启用事务注解! --><!--  
    <tx:annotation-driven transaction-manager="transactionManager"/>
     -->
    <!--2.配置事务属性 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="*"/>
        </tx:attributes>

    </tx:advice>

    <!-- 3.配置事务切入点 -->
    <aop:config>
        <aop:pointcut expression="execution(* org.Tran.Service.BuyBookInterface.*(..))" 
                id="txPointCut"/>
        <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut"/>

    </aop:config> 

    </beans>

测试代码:

 ApplicationContext ctx = new ClassPathXmlApplicationContext("org/Tran/xml/SpringConf.xml");
//      BookServiceInterface bookService=ctx.getBean(BookServiceInterface.class);
        BuySomeBookInterface buybook=ctx.getBean(BuySomeBookInterface.class);
        buybook.buySomeBook("Jack", Arrays.asList("0001","0002"));

下面是我的jar包图片说明

我的数据库是mysql,表类型也是正常默认的innodb .

4个回答

wangkang80
wangkang80   2016.03.22 15:08
已采纳

关于spring事务的详细配置,可参考:http://git.oschina.net/wangkang/llsfw

希望能够帮到你.

enpterexpress
enpterexpress   Rxr 2016.03.22 10:31
u010370084
u010370084 回复有_道_是: ?你这个是代理的问题吧,缺包,我这个是没那个方法,但是我jar包都放了啊![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/5.gif)[图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/5.gif)
2 年多之前 回复
u010370084
u010370084   2016.03.22 10:49

不是那个包的问题,我加了还是不行,还是报相同的错误,,,5555

bigdata_ALu
bigdata_ALu   2017.10.22 17:07

在吗?这个问题你解决了没,我的也是这种错误

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Spring事务管理配置及异常详解
最近在生产项目上出现一些问题,同一流程下涉及到多个数据库表的增改出现不一致的情况;例如tableA,tableB,tableC:三张表同时做insert操作(或者是update操作),其中tableA,tableB保存成功,tableC却未能保存成功;这样的话,就造成生产服务器上的数据不准确;系统环境:spring3.0.2+struts2.18+hibernate3.3.2解决方案:使用的是sp...
spring事务异常回滚,不抛出事务失效
之前对于spring事务的理解一直错误的以为”在try捕获异常时开启事务,在catch块中回滚事务”:public void saveUser(User user){ try{ 事务开启 userDao.save(user) }catch(Exception e){ 事务回滚 } }或许是之前控制事务都是出于业务层,并且在捕获异常之后都有向
sql异常,Spring Aop事务不回滚解决方案
在做Spring声明式事务的时候,数据库连接池是HikariCP, 如果sql报错,比如某一个字段can’t be null, 这种sql exception就无法回滚,但是如果是1/0报错,事务就可以回滚,在网上查了很多资料,试了下面几个方法: 1. 检查mysql是否是innodb? 2. 自定义异常; 3. throw new RuntimeException(); 4. 在try ...
spring管理事务异常时事务未回滚问题笔记
本片博客旨在记录项目开发过程中遇到的一些问题,提高日后在解决问题上的能力 问题情形:在维护一个2012年的老项目时候出现了一个事务不一致的问题,如果不是仔细点,还真不能发现这个问题,代码如下: public boolean checkTaskIsPass(Integer pId,Integer type) { try{ this.taskAdminDAO.checkTaskI
Spring MVC 注解事务 之 异常回滚
在实际项目中,使用SpringMVC服务层使用注解式事务(@Transactional)做事务管理。可能会遇到,即想回滚事务,又能返回一个错误对象。查了好多资料,都是用java异常机制去做事务回滚。终于在这篇文章中(http://blog.csdn.net/yipanbo/article/details/46048413)找到了我想要的答案TransactionAspectSupport.curr
spring事务控制的方法中抛出异常不回滚
最近做项目时,由于业务需要,在service中抛出自定义异常时出现了事务不回滚的情况,具体情况如下:
SpringBoot @Transactional 中捕获异常并回滚解决方法
业务需求:需要捕获到@Transactional中的异常,并不影响事物回滚@Transactional(rollbackFor = Exception.class) public void test() { try { updata(); updata2(); } catch (Exception e) { ...
Spring boot事务管理只异常不回滚的解决方案
处理springboot 下提交事务异常,数据库没有回滚的问题。 spring的文档中说道,spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚,而对检查型异常则不进行回滚操作。 什么是检查型异常什么又是非检查型异常? 最简单的判断点有两个: 1.继承自runtimeexception或error的是非检查型异常,而继承自exception的则是检查型异常(当然,runti
spring事务read-only只读报错处理总结
1.事务配置 2.事务应用 3.问题:执行查询2报错read-only只读 4.分析: (1)read-only只读事务配置是为了避免多次查询结果不一致,即在进行数据库查询之前,已经查询的结果不能有变动 (2)但是以上代码显示在查询2之前,对查询1结果作了set操作,也就是对查询结果改变后再次进行查询操作,因此违反了read-only只读事务配置保证查询结果一致性原则
获取前一天Tomcat的异常日志
获取前一天Tomcat的异常日志前几天收到主管的要求,说让我把各团队负责的Tomcat前一天的异常日志信息通过邮件发送给各团队主管。那么,后来就写出了这个脚本。思路大概是先把团队tomcat的log检索异常信息进行重定向到文件中,然后判断该文件是否有信息,如果没有,则移除;如果有,则压缩进行打包发送,发送之后进行检索下一个团队的log file。里面的err_log.txt文件所包含的是 serve