【问题标题】:jta=true or xa-datasource in Jboss EAP 7Jboss EAP 7 中的 jta=true 或 xa-datasource
【发布时间】:2017-03-08 13:55:31
【问题描述】:

我正在尝试在standalone.xml 中配置SQLSERVER 数据源。在我的项目中,我使用的是 JTA,我使用 .有什么不同 ?我正在使用这个:

<datasource jta="true" jndi-name="java:jboss/datasources/mydatabase" pool-name="seguDS" enabled="true" use-java-context="true">
                    <connection-url>jdbc:jtds:sqlserver://192.168.40.16/mydatabase;instance=clust02</connection-url>
                    <driver>jtds-1.3.1.jar</driver>
                    <new-connection-sql>select 1</new-connection-sql>
                    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                    <pool>
                        <min-pool-size>5</min-pool-size>
                        <max-pool-size>50</max-pool-size>
                    </pool>
                    <security>
                        <user-name>sa</user-name>
                        <password>sa</password>
                    </security>
                    <validation>
                        <check-valid-connection-sql>select 1</check-valid-connection-sql>
                    </validation>
                    <timeout>
                        <set-tx-query-timeout>true</set-tx-query-timeout>
                        <blocking-timeout-millis>5000</blocking-timeout-millis>
                        <idle-timeout-minutes>15</idle-timeout-minutes>
                    </timeout>
                    <statement>
                        <track-statements>false</track-statements>
                    </statement>
                </datasource>

这对我有用,但我担心它是否正确,或者我应该更改为 XA-DATASOURCE。

【问题讨论】:

    标签: jboss jboss7.x jta


    【解决方案1】:

    当您在 JBoss EAP 6.x 或 JBoss EAP 7 中创建 local-tx 数据源时,它默认 "jta" 属性为 "true"。这将有助于 local-tx 资源加入全局事务。 “jta”属性仅启用非 xa 数据源的 JTA 集成 (https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.1/html-single/Administration_and_Configuration_Guide/index.html#Datasource_Parameters1)。 如果您的应用程序使用全局事务,即它需要一个事务管理器来协调跨多个资源管理器的分布式事务,那么您需要 XA 数据源。

    【讨论】:

    • 如果我使用非 xa 数据源,没有 JTA,为什么我需要 jta=true ?我无法理解需要。
    • 如果您没有明确配置,默认情况下 jta 值在非 xa 数据源中为 true。 jta="true" 表示数据源将遵循 Java Transaction API 并允许 JCA 实现更好地跟踪连接。
    猜你喜欢
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多