某日与某君写着程序,无意中发现怎么测试的MySql不支持事务的?莫非写的程序有问题?无论用容器管理事务还是自己手工启动事务,事务硬是不回滚。当时就觉得超奇怪了,不会是装的Mysql是老古董吧。查了一下mysql是5.0的不可能啊。
于是打开了万能的google找啊找,终于有点眉目了,默认使用了MyISAM这个存储引擎,于是将引擎改成InnoDB。
junit测试一下,事务回滚成功。问题搞定。另:JBOSS 运行EJB,要支持MYSQL分布式事务记得加上:mysql-xa-ds.xml 配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<datasources>
<xa-datasource>
<jndi-name>MySqlDS</jndi-name> <!--数据源名称-->
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
<xa-datasource-property name="Url">url</xa-datasource-property> <!--连接数据库地址-->
<xa-datasource-property name="User">USER</xa-datasource-property>
<xa-datasource-property name="Password">123</xa-datasource-property>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</xa-datasource>
<xa-datasource>
<jndi-name>XXX2</jndi-name> <!--数据源名称-->
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
<xa-datasource-property name="Url">jdbc:mysql://192.168.X.XX:3306/XX?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull</xa-datasource-property>
<xa-datasource-property name="User">XX</xa-datasource-property>
<xa-datasource-property name="Password">123456</xa-datasource-property>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</xa-datasource>
</datasources>
分享到:
相关推荐
【ejb3.0 分布式事务详解】 在企业级Java应用中,EJB(Enterprise JavaBeans)3.0提供了一种强大而灵活的方式来处理分布式事务。分布式事务是指跨越多个数据库或资源管理器的单一逻辑操作,确保了数据的一致性和...
**EJB3-JBOSS7-分布式事务示例** EJB3(Enterprise JavaBeans 3.0)是Java EE平台中的一个核心组件,它提供了一种标准的方式来创建可部署在服务器上的分布式、面向服务的企业级应用程序。EJB3引入了许多改进,包括...
- **EJB服务器**:管理EJB容器的高端进程或应用程序,提供对JNDI(Java命名和目录接口)的名称服务和事务服务支持。 - **EJB容器**:管理一个或多个EJB类实例的抽象,通过规范中定义的接口使EJB类访问所需的服务。 -...
### 微服务架构下的分布式事务解决方案 #### 一、引言 随着互联网技术的发展和企业级应用需求的增长,传统的单体应用已经难以满足高并发、高性能的要求。微服务架构因其高度解耦、易于扩展等特性成为了当前软件开发...
基于EJB3.0的分布式网上购物系统.pdf
EJB(Enterprise JavaBeans)3.0规范提供了一种开发和部署基于事务性和分布式对象应用的服务器端组件架构,特别适用于构建大规模的分布式电子商务网站。 关键词:Java,EJB 3.0,Servlet,分布式系统,网上书城 1....
总结来说,支付宝的分布式事务解决方案涉及到的技术和概念主要包括SOA系统中的分布式事务处理、DTP模型、两阶段提交协议、跨域事务管理、JTA/JTS/EJB事务接口以及ACID属性。这些技术共同组成了支付宝强大的分布式...
JBOSS是一个流行的开源Java应用服务器,它支持EJB(Enterprise JavaBeans)3.0规范,这是一个用于构建企业级分布式应用程序的框架。EJB3.0引入了更简洁的编程模型,使得Java开发更加轻量级,而MySQL则是一种广泛使用...
- **EJB**:基于组件的应用编程模型,通过声明式事务管理进一步简化事务应用的编程。 #### 五、标准分布式事务解决方案的利弊分析 **1. 优点** - **严格的ACID特性**:全局事务能够保证事务的原子性、一致性、隔离...
EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,用于构建可扩展的、安全的、事务处理的服务器端应用程序。本示例将探讨如何实现EJB的分布式远程调用,这是一种让不同网络节点上的软件组件能够相互通信的...
Java Web即Java EE,它是面向企业级的网络系统,其中的“企业级”和“网络”(分布式)代表了Java Web开发的...在Java EE最新的规范中提供了进行企业级开发的框架组件EJB,并同时提供了多种分布式服务开发技术方案,
在EJB中,事务管理是核心功能之一,确保了数据的一致性和完整性。事务是数据库操作的基本单元,确保一组操作要么全部成功,要么全部失败,避免数据的不一致。 事务的界定是定义事务的生命周期,包括开始、挂起、...
ByteTCC是一个开源项目,其核心目标是实现一个高效且灵活的分布式事务管理器,它兼容Java Transaction API (JTA),这意味着它可以无缝地与各种企业级Java应用服务器如EJB和轻量级容器如Spring进行集成。对于Spring...
EJB(Enterprise JavaBeans)3.0则是Java EE平台中的核心组件,提供了服务和框架来构建分布式、事务处理和安全的企业级应用。而MySQL作为流行的开源关系型数据库管理系统,常与Java应用搭配使用。本篇文章将深入探讨...
在IT行业中,分布式系统的设计和实现常常涉及到复杂的事务管理,以确保数据的一致性和完整性。JTA(Java Transaction API)是Java平台上的一个标准接口,用于处理分布式事务,它允许应用程序在不同的数据源之间进行...
EJB是一种Java EE标准,它提供了服务器端组件模型,用于构建可扩展、安全且事务处理的分布式应用程序。 1、开发环境搭建 在开始EJB的分布式开发之前,首先需要配置必要的开发环境: - **JDK**:EJB开发需要Java运行...
EJB是Java EE平台的一部分,用于构建企业级的分布式、事务处理和多用户的应用程序。在用户注册系统中,EJB可以作为业务逻辑层,负责验证用户输入、管理用户账户状态、处理邮件发送等功能。例如,一个Session Bean...