`
diaozuxin
  • 浏览: 1813 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

spring事务的怪问题

阅读更多
现在我在配置文件里添加了数据库类型的事务,并且添加了一个拦截器,具体程序如下:
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>

<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>

<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<value>*Bo</value>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>

</list>
</property>
</bean>

然后写了个junit测试用例,

public void testSvcCallRMBySPS() throws Exception {
//资源订单同步文件头,暂时注释掉--start
File fileName = new File("D://测试数据//181101071130S1103783_1.xml");
SoSyncRequestDocument soDoc = SoSyncRequestDocument.Factory.parse(fileName);
String s= null;
try{
spsInterfaceSvrBo = (ISpsInterfaceSvrBo) ContextFactory.getBeanFactory().getBean("spsInterfaceSvrBo");

s = spsInterfaceSvrBo.svcCallRMBySPS("soSyncRequest",  soDoc.toString());
System.out.println("@@@@@@@@@@@@@2222222222");

}catch(Exception ex){
System.out.println("ttttt2222222222");
ex.printStackTrace();
}
System.out.println("gggggg2222222222");
System.out.println(s);
}

问题出现了,在执行完spsInterfaceBo.svcCallRMBySPS("soSyncRequest",soDoc.toString())中的每一条语句之后,程序就死掉了,连接也死在那里了,因为这个时候开始执行hibernate的延迟加载。  如果说是什么关联的原因导致延迟加载错误,也应该出现异常,我对异常都用RunTimeException进行捕获并打印堆栈,现在不知道为何捕捉不到任何异常。  我的log的显示级别是info的。 



为什么不显示异常呢?我是用这个测试用例调用本地的bo,然后在本地的bo中操作数据库,难道这样就不行吗?我有个同事也遇到这个问题,他没有管这个问题,但是我想问为什么?

不知道上面的描述具体吗?大家在答疑的过程中有什么疑惑,请给我回帖,我再贴上去!

分享到:
评论

相关推荐

    分布式的事务处理、springcloud

    分布式事务处理是现代微服务架构中的重要组成部分,特别是在SpringCloud这样的框架中,处理跨服务的事务一致性至关重要。本文将深入探讨分布式事务的处理方法,包括AT模式、CTT模式、Saga模式,以及相关的隔离机制,...

    Spring讲义.docx

    - AOP 是Spring提供的另一项关键特性,它允许将关注点(如日志记录、事务管理)分离出来,作为独立的模块进行处理。这样,开发者可以专注于核心业务逻辑,而无需在每个需要的地方重复相同的代码。 **3. Spring的...

    spring2.5.6_参考文档

    - **JDBC抽象**:Spring的JdbcTemplate和SimpleJdbcTemplate提供了模板方法,简化了SQL操作,减少了可能出现的资源泄露问题。 - **JMS支持**:Spring提供了对Java消息服务(JMS)的全面支持,包括消息生产者、消费...

    springcloud分布式服务治理

    Seata 则解决了分布式环境下的事务一致性问题。 Spring Cloud Alibaba 的优势在于它结合了阿里巴巴在国内市场的经验和实践,提供了更加符合国内开发者习惯的工具和服务。通过 Spring Cloud Alibaba,开发者可以更...

    spring源码修改文件.zip

    此外,Spring的AOP模块是其一大特色,它允许我们在不修改代码的情况下,通过切面来实现方法拦截和事务管理等功能。`AspectJ`是Spring AOP的底层实现,通过编译时或运行时织入增强代码,提供强大的AOP支持。如果你对...

    SpringMVC+spring+hibernate整合ssh

    - **事务管理**:Spring支持声明式和编程式事务管理,简化了事务控制,确保数据一致性。 2. **SpringMVC**: - **模型-视图-控制器(MVC)架构**:SpringMVC将应用程序分为模型、视图和控制器三个部分,使得职责...

    ssm和echarts技术整合 Spring+SpringMVC+MyBatis整合

    3. **配置MyBatis**:编写MyBatis的全局配置文件`mybatis-config.xml`,包含数据源、事务管理等信息。编写Mapper接口和对应的XML映射文件,实现SQL语句与Java方法的绑定。 4. **创建Controller**:在SpringMVC中...

    SSM考试模板增删改查.rar

    Spring的@Transactional注解可以用来声明事务边界,如果在事务内发生异常,会自动回滚事务,保持数据的完整性。 总之,"SSM考试模板增删改查.rar"中的代码示例涵盖了SSM框架的基础应用,是理解并实践Java Web开发中...

    SSH全部jar

    Spring的jar包主要包括:spring-context、spring-beans、spring-aop、spring-jdbc、spring-tx等,这些库使得开发者可以轻松地管理对象依赖关系,实现松耦合,同时提供强大的事务控制和数据访问支持。 Struts作为MVC...

    自己的java笔记.zip

    Spring还提供了对数据库访问、事务管理、安全等方面的强大支持。 4. **MyBatis**:MyBatis是一个优秀的持久层框架,它简化了SQL与Java代码的交互,通过XML或注解的方式将SQL语句和Java代码进行映射,使得开发者能更...

    1000道互联网大厂Java工程师面试题.pdf

    面试中,MyBatis的优缺点、与Hibernate的对比,#{}和${}的区别,动态SQL的使用,以及XML映射文件的标签和映射方式等都是常见问题。例如,#{}用于预编译处理,${}则是在SQL拼接时直接替换,而MyBatis的动态SQL主要...

    使用三大框架ssh+mysql基础web案例

    4. 创建Spring配置,管理Bean,配置事务管理器。 5. 编写Struts Action,处理业务逻辑,调用Spring管理的Service进行数据库操作。 6. 设计JSP页面,利用Struts提供的标签进行显示。 7. 集成测试,确保各个部分正常...

    课堂上的例子

    Spring还提供了AOP(面向切面编程)功能,可以用于事务管理、日志记录等。 然后,Hibernate作为ORM(对象关系映射)工具,将Java对象与数据库表对应起来。在例子中,可能有一个实体类,比如`User.java`,它代表...

    MyBatis讲义.docx

    - Spring框架:Spring是一个轻量级的IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)容器,它简化了Java企业级应用的开发,降低了对象间的耦合度,支持事务管理、数据源...

    ssm学习项目

    SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,广泛应用于企业级应用系统。本项目是基于SSM的学习实践项目,旨在帮助开发者深入理解和掌握这三大框架的集成与使用。 首先,Spring框架是整个...

    jsp校园网站程序.rar

    在校园网站项目中,Spring可以用来管理数据库连接、事务处理、安全控制等方面,使得代码更加模块化和易于测试。 【Hibernate框架】Hibernate是一个强大的对象关系映射(ORM)工具,简化了Java应用与数据库之间的...

    JAVAWEB 网上商城项目.zip

    在处理过程中,Spring的事务管理确保了数据的一致性。 购物车功能是网上商城的重要组成部分,涉及商品添加、删除、修改数量等操作。在SSM框架下,购物车的实现通常会利用Session或者Cookie存储用户临时选择的商品...

    JavaerNotes:这是我用作练习的项目,把之前的知识总结整理一下

    这是我对之前工作或学习中知识积累的总结,其中绝大部分...所以有问题,别怪我喽~目录:SpringSpring BootMybatis及多数据源DruidAOP事务ThymeleafShiroJwtDubboZookeeperKafkaElasticsearch日志系统分布式锁...等等

    JAVA视频教程合集

    12. **Spring框架**:Spring是Java应用开发中最流行的应用框架,它提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,简化了企业级应用的开发。 本教程合集通过30套实用的视频教程,详细讲解了...

    Hero_vs_Monster

    - Spring框架:作为Java开发的常用框架,Spring可以帮助管理对象依赖,简化配置,提供事务处理等功能。 - Swing或JavaFX:用于构建游戏界面,处理用户交互。 通过"Hero_vs_Monster"项目,开发者不仅可以掌握Java...

Global site tag (gtag.js) - Google Analytics