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]
资源下载链接为: https://pan.quark.cn/s/9648a1f24758 在当今信息化时代,管理系统已成为企业、组织乃至虚拟世界中不可或缺的工具。本文将深入探讨“地府后台管理系统”,解析其核心概念、功能以及可能涉及的技术栈,以期为读者提供全面的了解。需要明确的是,“地府后台管理系统”在现实生活中并不存在,但在虚构或游戏场景中,它可能是用于维护虚拟世界运行的后台工具。它通常负责角色管理、资源分配、事件触发、数据存储等后台任务,确保虚拟环境的正常运转。 管理系统的核心在于功能模块。对于“地府后台管理系统”,我们可以设想以下关键部分:一是角色管理,用于管理地府中的各类角色,如鬼魂、判官、牛头马面等,涵盖角色创建、权限分配及状态跟踪等功能;二是资源管理,负责虚拟资源(如魂魄、冥币等)的生成、分配与消耗,确保资源合理流动;三是事件调度,设定各类事件(如转世轮回、阳间报应等),实现定时或条件触发,推动虚拟世界发展;四是数据存储与查询,记录并存储所有操作产生的数据,数据库技术在此环节极为重要,可能涉及SQL或NoSQL数据库的选择;五是报表与分析,提供统计报表,分析地府运行情况,如魂魄流转效率、资源消耗趋势等;六是安全防护,保障系统安全,防止非法访问或数据泄露,可能需要防火墙、加密算法、访问控制等技术。 在技术实现方面,可能涉及以下技术栈:前端技术,利用HTML、CSS、JavaScript构建用户界面,借助React或Vue等框架提升开发效率;后端技术,采用Java、Python或Node.js作为服务器端语言,通过Spring Boot或Django等框架搭建后端服务;数据库,根据需求选择MySQL、PostgreSQL等关系型数据库或MongoDB等非关系型数据库;服务器架构,可能采用微服务架构,使系统更灵活、可扩展;API设计,遵循RESTful API标准实现前
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值