电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

關于Tomcat 結合Atomikos 實現JTA的方法

瀏覽:102日期:2023-03-19 16:51:40

最近項目切換環境,把weblogic 換成tomcat 記錄中間遇到的問題
Tomcat下配置Atomikos實現JTA
Tomcat作為一款經典的Web服務器,在開發、測試和生產環境中得到了廣泛的使用。但Tomcat畢竟不是Java EE服務器,因此在EJB,JTA方面并沒有提供支持。本文講述了Tomcat使用Atomikos實現JTA的一種方法。

 在Tomcat中使用JTA,可以將Atomikos部署在Tomcat中,使用Tomcat支持的數據源;也可以在項目中配置,利用Spring配置好數據源、連接池、事務管理器等等。兩種方式各有特點,本文只介紹Tomcat與Atomikos的集成,集成后Tomcat可以對外提供JTA的事務管理器和數據源。

 在使用Atomikos之前,我們也曾使用過JOTM,不過在高并發的情況下,JOTM頻頻出錯,最后不得不放棄,通過測試,發現Atomikos性能和穩定性都不錯。

 我們使用了Atomikos最新的4.04版本,Jar包的獲取可以從maven的配置庫中得到,鏈接地址:http://mvnrepository.com/artifact/com.atomikos

如果不使用Hibernate,需要的包包括:

atomikos-util.jar,
jta.jar,
transactions.jar,
transactions-api.jar,
transactions-jdbc.jar,
transactions-jta.jar

集成包:
atomikos-integration-extension-3.7.2.jar

記得放數據庫 驅動

Step 1:將這些jar 拷貝到tomcat 的lib 目錄中。要實現Tomcat與Atomikos集成,還需要一個集成包,這個集成包里面有兩個class,可以自己參考實現,也可以使用官方提供的jar包,最新的是

atomikos-integration-extension-3.7.2.jar

Step2:在tomcat/config/server.xml中 增加一個監聽器

? <Listener className="com.atomikos.tomcat.AtomikosLifecycleListener" />

Step3:在tomcat/config/context.xml中增加數據源和相關的事務管理器,下面是一個參考的例子,參數酌情修改

 <Resource name="jdbc/DS_MYSQL"

    auth="Container"

    type="com.atomikos.jdbc.AtomikosDataSourceBean"

    uniqueResourceName="jdbc/DS_MYSQL"

    xaDataSourceClassName="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource"

    xaProperties.databaseName="db_test"

    xaProperties.serverName="localhost"

    xaProperties.port="3306"

    xaProperties.user="root"

    xaProperties.password="root"

    maxPoolSize="200"

    xaProperties.url="jdbc:mysql://localhost:3306/db_test?characterEncoding=UTF8"

    factory="com.atomikos.tomcat.EnhancedTomcatAtomikosBeanFactory" />

  <Resource name="UserTransaction"

    auth="Container"

    type="javax.transaction.UserTransaction" />   

   <Transaction factory="com.atomikos.icatch.jta.UserTransactionFactory" /> 

Step4:在tomcat/lib目錄下增加一個jta.properties文件,設置Atomikos事務相關的參數,否則將使用默認的配置參數,一些并發事務數(默認50個),超時時間等都需要調整,下面給出了文件中的一些參數配置,參數解釋請查閱官方文檔:https://www.atomikos.com/Documentation/JtaProperties

添加此行配置

com.atomikos.icatch.service=com.atomikos.icatch.standalone.UserTransactionServiceFactory

?Atomikos中參數的默認值在transactions.jar中定義,transactions-default.properties:有興趣的可以自己去看

? ? ?配置完以上四個步驟,Tomcat的集成就算完成了,項目中可以使用Spring來關聯數據源和事務管理器,參考配置如下:

<!-- JNDI模板配置信息,用于連接應用服務器-->

<bean id="jndiTemplate" />
<bean id="dataSource">

    <property name="jndiName">

<value>java:comp/env/jdbc/DS_MYSQL</value>

    </property>

    <property name="jndiTemplate">

<ref bean="jndiTemplate"/>

    </property>

</bean>

<bean id="jdbcTemplate">

    <property name="dataSource">

<ref bean="dataSource" />

    </property>

</bean>  

<!--用戶事務對象-->

<bean id="userTransaction">

    <!--class="org.springframework.transaction.jta.WebLogicJtaTransactionManager">-->

    <property name="jndiName">

<value>java:comp/UserTransaction</value>

    </property>

    <property name="jndiTemplate">

<ref bean="jndiTemplate"/>

    </property>

</bean>

<bean id="atomikosTransactionManager"

    init-method="init" destroy-method="close">

    <property name="forceShutdown" value="false" />

</bean>

<!-- 配置基于注解的聲明式事務管理器 -->

<bean id="transactionManager">

    <property name="userTransaction" ref="userTransaction" />

    <property name="transactionManager" ref="atomikosTransactionManager" />

</bean> 

<tx:annotation-driven transaction-manager="transactionManager" />

以下是我項目中使用的配置:推薦在 conf.xml中配置

在Tomcat配置中使用的XA的數據源和JDBC驅動,可以使用nonXA的相關設置,Atomikos中也支持非XA的連接,以提高運行速度。關于nonXa的數據源,可以參考一下配置:

<Resource name="jdbc/DS_MYSQL"

 auth="Container"
    type="com.atomikos.jdbc.nonxa.AtomikosNonXADataSourceBean"

uniqueResourceName="jdbc/DS_MYSQL"

driverClassName="com.mysql.jdbc.Driver"

maxPoolSize="200"

url="jdbc:mysql://localhost:3306/db_test?characterEncoding=UTF8"

user="root"

password="root"

factory="com.atomikos.tomcat.EnhancedTomcatAtomikosBeanFactory" /> 

**踩坑記錄**

**在這里因為有事務管理 TransactionManager? 通過這個type 一直獲取不到? UserTransaction? 經debug發現找取的不是這個類 **

**換成 type="com.atomikos.icatch.jta.userTransactionImp" 成功獲取到 UserTransaction,**

 <Resource name="UserTransaction"

    auth="Container"
type="com.atomikos.icatch.jta.userTransactionImp"/>   

   <Transaction factory="com.atomikos.icatch.jta.UserTransactionFactory" /> 

https://blog.csdn.net/xuyu_yt/article/details/77905553?locationNum=14%20fps=1

到此這篇關于Tomcat 結合Atomikos 實現JTA的文章就介紹到這了,更多相關Atomikos 實現JTA內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Tomcat
主站蜘蛛池模板: MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | NMRV减速机|铝合金减速机|蜗轮蜗杆减速机|NMRV减速机厂家-东莞市台机减速机有限公司 | 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 | SDI车窗夹力测试仪-KEMKRAFT方向盘测试仪-上海爱泽工业设备有限公司 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 示波器高压差分探头-国产电流探头厂家-南京桑润斯电子科技有限公司 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 亮化工程,亮化设计,城市亮化工程,亮化资质合作,长沙亮化照明,杰奥思【官网】 | 礼至家居-全屋定制家具_一站式全屋整装_免费量房设计报价 | 真空冷冻干燥机_国产冻干机_冷冻干燥机_北京四环冻干 | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | PU树脂_水性聚氨酯树脂_聚氨酯固化剂_聚氨酯树脂厂家_宝景化工 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 网站seo优化_seo云优化_搜索引擎seo_启新网络服务中心 | 丙烷/液氧/液氮气化器,丙烷/液氧/液氮汽化器-无锡舍勒能源科技有限公司 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 今日扫码_溯源二维码_产品防伪一物一码_红包墙营销方案 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 厦门ISO认证|厦门ISO9001认证|厦门ISO14001认证|厦门ISO45001认证-艾索咨询专注ISO认证行业 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 低温柔性试验仪-土工布淤堵-沥青车辙试验仪-莱博特(天津)试验机有限公司 | 避光流动池-带盖荧光比色皿-生化流动比色皿-宜兴市晶科光学仪器 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 合肥地磅_合肥数控切割机_安徽地磅厂家_合肥世佳电工设备有限公司 | 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | 塑胶跑道施工-硅pu篮球场施工-塑胶网球场建造-丙烯酸球场材料厂家-奥茵 | 代理记账_免费注册公司_营业执照代办_资质代办-【乐财汇】 | 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | 污水处理设备-海普欧环保集团有限公司| 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 |