`

jboss 事务 多个数据源

阅读更多

今天部署一个应用时,老是报错:

2010-07-30 15:23:00,464 WARN  [com.arjuna.ats.jta.logging.loggerI18N] (main) [com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow] [com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@f29c65
2010-07-30 15:23:00,471 WARN  [org.hibernate.util.JDBCExceptionReporter] (main) SQL Error: 0, SQLState: null
2010-07-30 15:23:00,471 ERROR [org.hibernate.util.JDBCExceptionReporter] (main) Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: 7f000001:a11f:4c527dc4:76 status: ActionStatus.ABORT_ONLY >); - nested throwable: (org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: 7f000001:a11f:4c527dc4:76 status: ActionStatus.ABORT_ONLY >))
2010-07-30 15:23:00,473 ERROR [ejbModule.persistence.smsmmsplatform.sms.SmsIsagMSP2LinkConfigDaoImpl] (main) find failed:

 

上网查了一下,报错的原因是因为一个事务里面要操作两个数据源的数据。但是我查了一下应用,应用里的配置文件只指向了一个数据源。

跟相关同事沟通后,才发现,原来这个应用有用到EJB3的定时服务。EJB3的定时服务的实现貌似跟jboss的TimerService有联系,而JBoss的TimerService实现采用数据库来保存timer信息,默认采用hypersonic的数据库,非xa的datasource,同时我们的数据源也是非xa的datasource,这样ts是没有办法把两个非xa的datasource纳入一个事务管理中的。

 

解决方法:

/server/default/conf文件夹中jbossjta-properties.xml文件里    <properties depends="arjuna" name="jta">下面增加子节点<property name="com.arjuna.ats.jta.allowMultipleLastResources" value="true"/>

分享到:
评论
1 楼 zhuchao_ko 2011-01-21  
你同事真牛逼

相关推荐

    jboss配置数据源

    jboss配置数据源需要经过多个步骤,包括复制oracle的JDBC驱动程序、修改oracle-ds.xml配置文件、修改standardjaws.xml或jaws.xml配置文件、修改jbosscmp-jdbc.xml配置文件和修改login-config.xml文件。只有经过这些...

    springmvc3注解+mybatis+JTA+jboss7.1下多个数据源配置(一)

    通过设置`transactionManager`属性,使其能够管理多个数据源的事务。 5. **Service层**:在服务层接口和实现类中,使用`@Transactional`注解声明事务边界。Spring会根据方法的参数或当前线程绑定的DataSource自动...

    EJB3-JBOSS7-分布式事务示例

    当多个数据源或服务参与同一个事务时,就需要跨系统的事务协调,确保数据的一致性。在JBoss AS7中,可以配置XAResource来支持分布式事务。 **示例中的"joker"文件可能包含:** 1. **源代码**:EJB3的bean类,可能...

    Jboss数据源配置总结[归纳].pdf

    本文将基于《Jboss数据源配置总结[归纳].pdf》的内容,详细介绍如何在JBoss中配置多个数据源以实现主从数据库的操作模式,并探讨在此过程中可能遇到的问题及其解决方案。 #### 二、主从数据库配置概述 在实际应用...

    jboss4端口号修改及数据源配置

    在JBoss 4中,对服务器的管理和配置是至关重要的,特别是对于端口号的更改和数据源的配置,这两者都是确保系统正常运行和优化性能的关键步骤。让我们深入探讨这两个主题。 首先,我们来了解如何修改JBoss 4的默认...

    JBoss encore 工程和maven仓库

    这个框架集成了多个关键组件,包括Seam和Weld,它们都是Java EE生态中的重要部分。 Seam是一个全栈的Java EE框架,它将JSF(JavaServer Faces)、EJB(Enterprise JavaBeans)和CDI(Contexts and Dependency ...

    Jboss4.2.2+Spring2.5.6+hibernate+JTA事务的实现

    在Spring框架中,可以通过配置使Spring的声明式事务管理支持JTA,实现跨多个数据源的事务管理。 集成这四个技术的步骤通常包括: 1. **配置JBoss**:首先,你需要将Spring和Hibernate的相关库添加到JBoss的类路径...

    jboss集群指南配套源代码

    1. **JBoss集群基础**:JBoss集群是通过多个独立的JBoss实例协同工作来提供服务的,这些实例共享状态,并通过JGroups通信框架进行节点间的通信。 2. **JGroups**:JGroups是JBoss集群的基础,用于提供节点间的消息...

    JBOSS开发人员指南

    JBoss采用了模块化设计,包含多个组件,如Application Server、Data Grid、EAP(Enterprise Application Platform)、WildFly等,它们各自负责不同的功能,协同工作以提供完整的应用程序托管环境。 二、JBoss开发...

    Spring中的全局(分布式、容器)事务的项目,可以脱离JBOSS的存在

    分布式事务(Distributed Transaction)是全局事务的一种,当一个事务涉及多个网络节点上的数据操作时,就称为分布式事务。在Spring中,通过JTA(Java Transaction API)来处理分布式事务,提供了一种标准的方式来...

    JBOSS 安装

    ### JBoss 安装与配置详解 JBoss是一款开源的应用服务器,它支持多种企业级功能,如Java EE、Web服务和事务...JBoss的安装与配置涉及多个环节,遵循以上步骤,结合具体需求调整参数,可顺利完成JBoss的部署与使用。

    spring对多个数据库进行事务管理.doc

    4. **处理分布式事务**:如果需要在多个数据源之间进行事务操作,可以考虑使用JTA和XAResource,但这通常需要数据库服务器支持X/Open XA协议。在J2EE环境下,Spring可以与应用服务器集成,利用其JTA服务。在J2SE环境...

    JBoss架构分析

    JBoss由多个关键模块组成,每个模块负责特定的功能: - **EJB容器**:负责管理和调度EJB实例。 - **命名服务 (JBossNS)**:提供命名和目录服务,使应用程序能够查找和引用远程对象。 - **事务管理器 (JBossTX)**:...

    JBOSS配置.rarJBOSS配置.rarJBOSS配置.rarJBOSS配置.rar

    JBOSSTMall的配置是其核心部分,它涉及到服务器的启动、安全管理、数据源、集群、事务处理等多个方面。下面将详细介绍JBOSS配置的相关知识点。 1. **启动配置**:JBOSS的启动配置主要在`standalone.xml`或`domain....

    JBoss 3.0 Quick Start Guide

    JBoss 支持集群功能,使得多个 JBoss 实例能够协同工作,提高应用的可用性和负载均衡能力。 **特性** - **集群范围内的 JNDI**:允许客户端在集群内查找任何节点上的 JNDI 对象。 - **农场**:通过将请求分发到集群...

    jboss资料大全,内容丰富,搜之不易

    6. **事务管理**:JBoss支持JTA,可以处理跨越多个数据库或服务的复杂事务。理解事务的ACID属性和事务隔离级别有助于设计健壮的应用。 7. **性能优化**:JBoss可以通过调整内存配置、线程池大小、缓存策略等参数来...

    开发基于JBoss的J2EE应用

    综上所述,开发基于JBoss的J2EE应用需要综合考虑环境搭建、基础配置、开发实践与优化等多个方面。通过深入了解和熟练掌握上述知识点,开发者能够在JBoss平台上构建出既符合业务需求又具有高扩展性和可靠性的企业级...

    Advanced JBoss Cache

    随着时间推移,JBoss Cache不断增加新功能,并在多个开源和商业产品中得到应用,既可以作为分布式状态复制机制,也可以作为本地内存中数据缓存。 JBoss Cache项目提供了两种版本:JBossCache-core(原名TreeCache)...

    jboss-3.0.0.zip

    5. **Java Transaction API (JTA)**:JTA是用于管理跨多个资源(如数据库和消息队列)的事务的标准接口。JBoss提供JTA服务,确保在一个事务中涉及的所有操作要么全部成功,要么全部回滚。 6. **部署与管理**:JBoss...

    JBOSS4.2 基本配置(全)

    2. **端口配置**:JBOSS默认使用多个端口,如HTTP(8080)、HTTPS(8443)、JMX(9999)、JNDI(1099)等。在`server/default/deploy/jboss-service.xml`中,你可以找到并修改这些端口配置,以避免与其他服务冲突。 ...

Global site tag (gtag.js) - Google Analytics