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
[color=red]这篇文章写的很杂,我的感觉就像是trouble shooting。如果还有什么问题我没有涉及到,很希望你能够跟帖或者通知我,另外一点,我很怀疑xa事物的可靠性,所以如果哪位在实际工作当中用到了jta希望你能够跟下贴,让哥们开开眼。[/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值