`
Aga
  • 浏览: 218512 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

jboss jta configuration trouble shooting

阅读更多
这两天在网上折腾,看到了jta的相关文章,很想自己尝试下j2ee中分布式事物的配置,顺表看看他们是怎么处理分布式的。抱着试一试的想法,我开始了jta之旅,没想到这条道路是那么艰险,犹如唐僧取经一般有着一把有一把的问题等待自己解决。为了最大限度的方针jta的分布式事物,我没有小儿科似的在本机配置多个相同的数据源,而是最大限度的模拟真是条件下的分布式,也为了爽一爽新配备的电脑,我在rhel5(后文称:200)上安装虚拟机,虚拟了两台服务器,一台是xp(后文称:5)上面装了sqlserver2000;一台rhel5(后文称:4)上面装了jboss4.2.3以及oracle10 client。200上同时安装了oracle10g server。
我会尽量详细的把所遇到的问题,以及解决方案贴出来,至于具体的代码清参见胡长城的jta的相关文章。里面有详细的叙述。

问题一:在4启动jboss无法获得jndi连接,并且不能ie访问:请修改启动脚本:./run.sh -b 192.168.1.4 -Djboss.bind.adress=0.0.0.0
问题二:可以获得jndi连接,但是context.lookup时会找不到配置好的数据源:检查数据源配置文件中是否有如下片段:<use-java-context>false</use-java-context>
问题三:如何配置oracle-xa-ds?xa是好东西,但也是有代价的:你需要在jboss所跑的主机安装oracle client所以我在4上安装了oracle-client。并且在启动jboss的时候要确保环境变量:LD_LIBRARY_PATH=$ORACLE_HOME/lib如果你遇到的异常i
综上,我的jboss启动脚本如下:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
# export PATH=$ORACLE_HOME/bin:$PATH
./run.sh -b 192.168.1.4 -Djboss.bind.adress=0.0.0.0
# ./run.sh -Djboss.bind.adress=0.0.0.0

因为oci驱动不像jdbc那样是纯正的java写的驱动,或者说是类型4的jdbc驱动;他是类型2的驱动,也就是需要c作底层的通讯,因此我们需要指定环境量LD_LIBRARY_PATH;告诉java到哪里去找c写的代码。
问题四:sqlserver2000的配置问题:sqlserver2000是我大学时候用的数据库,工作之后就在也没有用到过,今天使用起来好像回到了大学时代。呵呵,扯远了。java使用sqlserver2000需要jdbc,需要jdbc则需要sp4。也就是sqlserver2000的sp4包。另外推荐使用microsoft sqlserver2005 jdbc 驱动比较好,该驱动虽然叫2005但,向下兼容sqlserver2000并且如果你想用xa你只能用该驱动老的jdbc 2000不支持xa。具体安装方法自己google之。
问题五:在执行UserTransaction.begin()遇到:UT factory lookup failed。呵呵恭喜你,你里成功不远了。把org.jnp.interfaces.NamingContextFactory改成:org.jboss.naming.NamingContextFactory参加:http://www.jboss.org/community/docs/DOC-12476

低级失误:忘记拷贝oracle jdbc 和 sqlserver jdbc到jboss/server/default/lib
没有把jboss-clientall.jar引入客户端程序。
参考资料:
http://blog.csdn.net/james999/archive/2006/09/25/1281070.aspx
http://www.jboss.org/community/docs/DOC-12476
http://read.newbooks.com.cn/info/175508.html
http://database.e800.com.cn/articles/2007/620/1182276890521451751_1.html
这篇文章写的很杂,我的感觉就像是trouble shooting。如果还有什么问题我没有涉及到,很希望你能够跟帖或者通知我,另外一点,我很怀疑xa事物的可靠性,所以如果哪位在实际工作当中用到了jta希望你能够跟下贴,让哥们开开眼。
2
0
分享到:
评论

相关推荐

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

    "Jboss4.2.2+Spring2.5.6+Hibernate+JTA事务的实现"就是一个典型的例子,它涉及到四个关键的技术栈,即JBoss Application Server 4.2.2、Spring 2.5.6、Hibernate ORM以及Java Transaction API(JTA)。这些技术的...

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

    在本教程中,我们将深入探讨如何在Spring MVC 3中结合MyBatis并利用JTA(Java Transaction API)以及JBoss 7.1应用程序服务器来配置多数据源环境。这个配置对于那些需要处理多个数据库或者分布式事务的项目来说至关...

    jboss 7.1.1 Final 的jsp热部署解决方案

    在jboss7\standalone\configuration\standalone.xml文件中找到&lt;subsystem xmlns="urn:jboss:domain:web:1.0" default-virtual-server="default-host"&gt;做如下配置 Xml代码 收藏代码 &lt;subsystem xmlns="urn:jboss:...

    jboss 下载(httpwww.jboss.org)

    5. JTA(Java Transaction API):处理分布式事务管理。 总的来说,JBoss 作为一个强大的开源应用服务器,因其免费、高效、易用和丰富的功能,深受开发者喜爱。无论是小型项目还是大型企业级应用,都可以借助 JBoss...

    在jboss上部署web应用

    它提供了企业级的功能,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JTS/JTA(Java Transaction Service / Java Transaction API)、Servlet和JSP(JavaServer Pages)、JNDI(Java Naming and ...

    在IntelliJ idea8中部署Jboss服务器图解

    在IntelliJ IDEA 8中,选择菜单栏中的"Edit Configurations",然后双击出现的菜单,选择"Add New Configuration",并选择"JBoss Server",然后为服务器命名。 三、配置Jboss服务器 在配置Jboss服务器时,需要指定...

    Jboss项目部署文档

    Jboss 项目部署文档 Jboss 项目部署文档是指在 Jboss 服务器上部署项目的详细步骤,包括环境变量的配置、项目打包、配置文件的修改、JNDI 的配置等。以下是 Jboss 项目部署文档的详细知识点: 一、环境变量配置 ...

    JBOSS,JBoss安装部署

    【JBOSS,JBoss安装部署】 JBoss是Red Hat公司开发的一款开源的应用服务器,它基于Java EE(Enterprise Edition)规范,提供了全面的企业级应用程序部署和管理解决方案。本篇文章将详细讲解JBoss的安装和部署过程,...

    jboss开发技术文档

    以上只是JBoss开发技术文档的冰山一角,实际使用中,开发者还需要了解EJB、JPA、JTA、JNDI等Java EE组件的配置与使用,以及如何处理热部署、集群、性能优化等高级话题。此外,随着版本迭代,JBoss已发展为WildFly,...

    jboss7.1 linux版本

    JBoss AS 7.1.0.Final是在Linux环境下运行的一款开源Java应用服务器,由Red Hat公司维护。这个版本发布于2012年,它引入了许多改进和新特性,旨在提供更快的启动速度、更高的性能以及更好的模块化。在这个环境中,...

    JBoss4.0中文版.pdf

    1. **JBoss简介**:JBoss是Red Hat公司的一个开源Java EE应用服务器,基于J2EE(Java Platform, Enterprise Edition)标准,提供了一系列的企业级服务,如EJB、JMS、JTA等,用于构建、部署和管理分布式企业级应用。...

    JBOSS开发人员指南

    JBoss支持JTA(Java Transaction API)来管理和协调跨系统事务。 5.2 配置与使用 开发者需要了解如何在JBoss中配置事务管理器,并在代码中使用UserTransaction接口开始、提交或回滚事务。 六、安全与权限控制 6.1...

    JBOSS中文文档 CSDN资源下载

    JBoss是一个开源的Java应用服务器,它是基于Java EE(以前称为J2EE)标准的,提供了一整套企业级服务,包括EJB、JMS、JTA、JPA等,用于构建和部署分布式、跨平台的企业级应用。在4.0.x版本时,它已经是一个非常成熟...

    JBoss4 Guide 中文

    JBoss4作为JavaEE的实现之一,提供了对J2EE1.4规范的完整支持,包括但不限于Servlets、JSP、EJB、JMS、JTA等关键技术。 **2. 敏捷方法与JBoss** JBoss4的设计理念中融入了敏捷开发原则,这体现在其高度模块化和可...

    MyEclipse中配置JBoss

    【标题】:“MyEclipse中配置JBoss” 在IT行业中,MyEclipse是一款深受开发者喜爱的集成开发环境(IDE),尤其对于Java EE项目开发来说,它提供了强大的支持。而JBoss则是一个开源的应用服务器,广泛用于部署和管理...

    TOMCAT移植到JBOSS

    **JBOSS**则是一款功能更为强大的企业级应用服务器,除了支持Servlet和JSP之外,还支持EJB、JMS、JTA等企业级服务,适用于构建复杂的企业级应用。 #### 3. **移植过程解析** 移植一个Web工程从TOMCAT到JBOSS的过程...

    JavaEE源代码 jboss-common

    JavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-...

    jboss-3.0.0.zip

    在J2EE规范下,JBoss 提供了多种服务,包括EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JTA(Java Transaction API)以及Servlet和JSP容器,以支持分布式、多层的企业级应用开发。 1. **J2EE架构**...

Global site tag (gtag.js) - Google Analytics