You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2020/12/16 10:10:57 UTC

[shardingsphere] branch master updated: add bitronix xa transaction doc (#8652)

This is an automated email from the ASF dual-hosted git repository.

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 80009fe  add bitronix xa transaction doc (#8652)
80009fe is described below

commit 80009fec05012c2602222e5cec4e4a08df308ee8
Author: xiaoyu <54...@qq.com>
AuthorDate: Wed Dec 16 18:10:33 2020 +0800

    add bitronix xa transaction doc (#8652)
---
 .../shardingsphere-jdbc/configuration/props.cn.md  |  2 +-
 .../shardingsphere-jdbc/configuration/props.en.md  |  2 +-
 .../usage/transaction/bitronix.cn.md               | 69 ++++++++++++++++++++++
 .../usage/transaction/bitronix.en.md               | 68 +++++++++++++++++++++
 .../usage/transaction/narayana.cn.md               |  6 +-
 .../usage/transaction/narayana.en.md               | 38 ++++++------
 .../usage/transaction/seata.cn.md                  |  2 +-
 .../usage/transaction/seata.en.md                  |  2 +-
 .../shardingsphere-proxy/configuration/props.cn.md |  2 +-
 .../shardingsphere-proxy/configuration/props.en.md |  2 +-
 .../shardingsphere-proxy/usage/transaction.cn.md   | 31 ++++++++++
 .../shardingsphere-proxy/usage/transaction.en.md   | 31 ++++++++++
 12 files changed, 227 insertions(+), 28 deletions(-)

diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.cn.md
index a8c5bca..ed067b9 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.cn.md
@@ -18,4 +18,4 @@ Apache ShardingSphere 提供属性配置的方式配置系统级配置。
 | max-connections-size-per-query (?) | int         | 一次查询请求在每个数据库实例中所能使用的最大连接数。                                                                                                                                          | 1        |
 | check-table-metadata-enabled (?)   | boolean     | 是否在程序启动和更新时检查分片元数据的结构一致性。                                                                                                                                            | false    |
 | query-with-cipher-column (?)       | boolean     | 是否使用加密列进行查询。在有原文列的情况下,可以使用原文列进行查询。                                                                                                                            | true     |
-| xa-transaction-manager-type (?)    | String      | XA 事务管理器类型。列如:Atomikos,Narayana                                                                                                                                                 | Atomikos |
+| xa-transaction-manager-type (?)    | String      | XA 事务管理器类型。列如:Atomikos,Narayana,Bitronix                                                                                                                                      | Atomikos |
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.en.md
index acf5df0..5edf153 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/props.en.md
@@ -18,4 +18,4 @@ Apache ShardingSphere provides the way of property configuration to configure sy
 | max-connections-size-per-query (?) | int         | Max opened connection size for each query.                                                                                                                                                                                                                   | 1               |
 | check-table-metadata-enabled (?)   | boolean     | Whether validate table meta data consistency when application startup or updated.                                                                                                                                                                            | false           |
 | query-with-cipher-column (?)       | boolean     | Whether query with cipher column for data encrypt. User you can use plaintext to query if have.                                                                                                                                                              | true            |
-| xa-transaction-manager-type (?)    | String      | XA Transaction manager type. Include: Atomikos, Narayana.                                                                                                                                                                                                    | Atomikos        |
+| xa-transaction-manager-type (?)    | String      | XA Transaction manager type. Include: Atomikos, Narayana and Bitronix.                                                                                                                                                                                       | Atomikos        |
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/bitronix.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/bitronix.cn.md
new file mode 100644
index 0000000..5332c70
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/bitronix.cn.md
@@ -0,0 +1,69 @@
++++
+title = "Bitronix 事务"
+weight = 6
++++
+
+## 引入 Maven 依赖
+
+```xml
+<propeties>
+    <btm.version>2.1.3</btm.version>
+</propeties>
+
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-jdbc-core</artifactId>
+    <version>${shardingsphere.version}</version>
+</dependency>
+
+<!-- 使用 XA 事务时,需要引入此模块 -->
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-transaction-xa-core</artifactId>
+    <version>${shardingsphere.version}</version>
+</dependency>
+    
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-transaction-xa-bitronix</artifactId>
+    <version>${shardingsphere.version}</version>
+</dependency>
+
+<dependency>
+    <groupId>org.codehaus.btm</groupId>
+    <artifactId>btm</artifactId>
+    <version>${btm.version}</version>
+</dependency>
+```
+
+## 定制化配置项
+
+详情请参见[Bitronix官方文档](https://github.com/bitronix/btm/wiki)。
+
+## 设置 XA 事务管理类型
+
+Yaml:
+
+```yaml
+props:
+  xa-transaction-manager-type: Bitronix
+```
+
+SpringBoot:
+
+```yaml
+spring:
+  shardingsphere:
+    props:
+      xa-transaction-manager-type: Bitronix
+```
+
+Spring Namespace:
+
+```xml
+<shardingsphere:data-source id="xxx" data-source-names="xxx" rule-refs="xxx">
+    <props>
+        <prop key="xa-transaction-manager-type">Bitronix</prop>
+    </props>
+</shardingsphere:data-source>
+```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/bitronix.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/bitronix.en.md
new file mode 100644
index 0000000..44a2921
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/bitronix.en.md
@@ -0,0 +1,68 @@
++++
+title = "Bitronix Transaction"
+weight = 5
++++
+
+## Import Maven Dependency
+
+```xml
+<propeties>
+    <btm.version>2.1.3</btm.version>
+</propeties>
+
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-jdbc-core</artifactId>
+    <version>${shardingsphere.version}</version>
+</dependency>
+
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-transaction-xa-core</artifactId>
+    <version>${shardingsphere.version}</version>
+</dependency>
+
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-transaction-xa-bitronix</artifactId>
+    <version>${shardingsphere.version}</version>
+</dependency>
+
+<dependency>
+    <groupId>org.codehaus.btm</groupId>
+    <artifactId>btm</artifactId>
+    <version>${btm.version}</version>
+</dependency>
+```
+
+## Customize Configuration Items
+
+Please refer to [Bitronix official documentation](https://github.com/bitronix/btm/wiki) for more details.
+
+## Configure XA Transaction Manager Type
+
+Yaml:
+
+```yaml
+props:
+  xa-transaction-manager-type: Bitronix
+```
+
+SpringBoot:
+
+```yaml
+spring:
+  shardingsphere:
+    props:
+      xa-transaction-manager-type: Bitronix
+```
+
+Spring Namespace:
+
+```xml
+<shardingsphere:data-source id="xxx" data-source-names="xxx" rule-refs="xxx">
+    <props>
+        <prop key="xa-transaction-manager-type">Bitronix</prop>
+    </props>
+</shardingsphere:data-source>
+```
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.cn.md
index 73d1708..0333903 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.cn.md
@@ -7,9 +7,9 @@ weight = 5
 
 ```xml
 <propeties>
-        <narayana.version>5.9.1.Final</narayana.version>
-        <jboss-transaction-spi.version>7.6.0.Final</jboss-transaction-spi.version>
-        <jboss-logging.version>3.2.1.Final</jboss-logging.version>
+    <narayana.version>5.9.1.Final</narayana.version>
+    <jboss-transaction-spi.version>7.6.0.Final</jboss-transaction-spi.version>
+    <jboss-logging.version>3.2.1.Final</jboss-logging.version>
 </propeties>
 
 <dependency>
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.en.md
index 69d39ee..8f42e27 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/narayana.en.md
@@ -7,9 +7,9 @@ weight = 5
 
 ```xml
 <propeties>
-        <narayana.version>5.9.1.Final</narayana.version>
-        <jboss-transaction-spi.version>7.6.0.Final</jboss-transaction-spi.version>
-        <jboss-logging.version>3.2.1.Final</jboss-logging.version>
+    <narayana.version>5.9.1.Final</narayana.version>
+    <jboss-transaction-spi.version>7.6.0.Final</jboss-transaction-spi.version>
+    <jboss-logging.version>3.2.1.Final</jboss-logging.version>
 </propeties>
 
 <dependency>
@@ -26,29 +26,29 @@ weight = 5
 </dependency>
 
 <dependency>
-      <groupId>org.apache.shardingsphere</groupId>
-      <artifactId>shardingsphere-transaction-xa-narayana</artifactId>
-      <version>${shardingsphere.version}</version>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-transaction-xa-narayana</artifactId>
+    <version>${shardingsphere.version}</version>
 </dependency>
 <dependency>
-      <groupId>org.jboss.narayana.jta</groupId>
-      <artifactId>jta</artifactId>
-      <version>${narayana.version}</version>
+    <groupId>org.jboss.narayana.jta</groupId>
+    <artifactId>jta</artifactId>
+    <version>${narayana.version}</version>
 </dependency>
 <dependency>
-       <groupId>org.jboss.narayana.jts</groupId>
-       <artifactId>narayana-jts-integration</artifactId>
-       <version>${narayana.version}</version>
+    <groupId>org.jboss.narayana.jts</groupId>
+    <artifactId>narayana-jts-integration</artifactId>
+    <version>${narayana.version}</version>
 </dependency>
 <dependency>
-       <groupId>org.jboss</groupId>
-       <artifactId>jboss-transaction-spi</artifactId>
-       <version>${jboss-transaction-spi.version}</version>
+    <groupId>org.jboss</groupId>
+    <artifactId>jboss-transaction-spi</artifactId>
+    <version>${jboss-transaction-spi.version}</version>
 </dependency>
 <dependency>
-       <groupId>org.jboss.logging</groupId>
-       <artifactId>jboss-logging</artifactId>
-       <version>${jboss-logging.version}</version>
+    <groupId>org.jboss.logging</groupId>
+    <artifactId>jboss-logging</artifactId>
+    <version>${jboss-logging.version}</version>
 </dependency>
 ```
 
@@ -58,7 +58,7 @@ Add `jbossts-properties.xml` in classpath of the application to customize Naraya
 
 Please refer to [Narayana official documentation](https://narayana.io/documentation/index.html) for more details.
 
-## Configure Transaction Manager Type
+## Configure XA Transaction Manager Type
 
 Yaml:
 
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.cn.md
index 75c9d23..3aee9d5 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.cn.md
@@ -1,6 +1,6 @@
 +++
 title = "Seata 事务"
-weight = 6
+weight = 7
 +++
 
 ## 启动 Seata 服务
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.en.md
index d6b97e4..ccd46f3 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/usage/transaction/seata.en.md
@@ -1,6 +1,6 @@
 +++
 title = "Seata Transaction"
-weight = 6
+weight = 7
 +++
 
 ## Startup Seata Server
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/configuration/props.cn.md b/docs/document/content/user-manual/shardingsphere-proxy/configuration/props.cn.md
index 289b764..6e3e5a5 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/configuration/props.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/configuration/props.cn.md
@@ -23,4 +23,4 @@ Apache ShardingSphere 提供属性配置的方式配置系统级配置。
 | proxy-transaction-type (?)         | String      | ShardingSphere-Proxy 中使用的默认事务类型。包括:LOCAL、XA 和 BASE。                                                                                                                         | LOCAL    |
 | proxy-opentracing-enabled (?)      | boolean     | 是否允许在 ShardingSphere-Proxy 中使用 OpenTracing。                                                                                                                                       | false    |
 | proxy-hint-enabled (?)             | boolean     | 是否允许在 ShardingSphere-Proxy 中使用 Hint。使用 Hint 会将 Proxy 的线程处理模型由 IO 多路复用变更为每个请求一个独立的线程,会降低 Proxy 的吞吐量。                                                 | false    |
-| xa-transaction-manager-type (?)    | String      | XA 事务管理器类型。列如:Atomikos,Narayana。                                                                                                                                                | Atomikos  |
+| xa-transaction-manager-type (?)    | String      | XA 事务管理器类型。列如:Atomikos,Narayana,Bitronix。                                                                                                                                     | Atomikos  |
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/configuration/props.en.md b/docs/document/content/user-manual/shardingsphere-proxy/configuration/props.en.md
index 342a5cd..04665d4 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/configuration/props.en.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/configuration/props.en.md
@@ -23,4 +23,4 @@ Apache ShardingSphere provides the way of property configuration to configure sy
 | proxy-transaction-type (?)         | String      | Default transaction type of ShardingSphere-Proxy. Include: LOCAL, XA and BASE.                                                                                                                                                                               | LOCAL           |
 | proxy-opentracing-enabled (?)      | boolean     | Whether enable opentracing for ShardingSphere-Proxy.                                                                                                                                                                                                         | false           |
 | proxy-hint-enabled (?)             | boolean     | Whether enable hint for ShardingSphere-Proxy. Using Hint will switch proxy thread mode from IO multiplexing to per connection per thread, which will reduce system throughput.                                                                               | false           |
-| xa-transaction-manager-type (?)    | String      | XA Transaction manager type. Include: Atomikos, Narayana.                                                                                                                                                                                                    | Atomikos        |
+| xa-transaction-manager-type (?)    | String      | XA Transaction manager type. Include: Atomikos, Narayana and Bitronix.                                                                                                                                                                                                    | Atomikos        |
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/usage/transaction.cn.md b/docs/document/content/user-manual/shardingsphere-proxy/usage/transaction.cn.md
index cfcca29..3726eda 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/usage/transaction.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/usage/transaction.cn.md
@@ -53,6 +53,37 @@ props:
 3. 新增 `jbossts-properties.xml` 文件来定制化 Narayana 配置项,它的加载路径顺序:`user.dir (pwd)` > `user.home` > `java.home` > `classpath`。
 详情请参见[Narayana官方文档](https://narayana.io/documentation/index.html)。
 
+* 使用 Bitronix事务管理器,需要参考以下步骤。
+
+1. 将 Bitronix 所需 jar 拷贝至 `/lib` 目录。参考如下:
+
+```xml
+<propeties>
+    <btm.version>2.1.3</btm.version>
+</propeties>
+
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-transaction-xa-bitronix</artifactId>
+    <version>${shardingsphere.version}</version>
+</dependency>
+
+<dependency>
+    <groupId>org.codehaus.btm</groupId>
+    <artifactId>btm</artifactId>
+    <version>${btm.version}</version>
+</dependency>
+``` 
+ 
+2. 在 `conf/server.yaml` 中加入如下配置:
+
+```yaml
+props:
+   xa-transaction-manager-type: Bitronix
+```
+
+3. Bitronix 配置详情请参见[Bitronix官方文档](https://github.com/bitronix/btm/wiki)。
+
 
 ## BASE 事务
 
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/usage/transaction.en.md b/docs/document/content/user-manual/shardingsphere-proxy/usage/transaction.en.md
index 83c02a0..dd4c015 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/usage/transaction.en.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/usage/transaction.en.md
@@ -52,6 +52,37 @@ props:
 The order of path loading is` user.dir (pwd)` > `user.home` > `java.home` > `classpath`.
 Please refer to [Narayana official documentation](https://narayana.io/documentation/index.html) for more details.
 
+* Use Bitronix XA Transaction Manager。
+
+1. Copy the jar file required by Bitronix to `conf/lib`. The reference package is as follows:
+
+```xml
+<propeties>
+    <btm.version>2.1.3</btm.version>
+</propeties>
+
+<dependency>
+    <groupId>org.apache.shardingsphere</groupId>
+    <artifactId>shardingsphere-transaction-xa-bitronix</artifactId>
+    <version>${shardingsphere.version}</version>
+</dependency>
+
+<dependency>
+    <groupId>org.codehaus.btm</groupId>
+    <artifactId>btm</artifactId>
+    <version>${btm.version}</version>
+</dependency>
+``` 
+
+2. Configure `xa-transaction-manager-type` in `conf/server.yaml`:
+
+```yaml
+props:
+  xa-transaction-manager-type: Bitronix
+```
+
+3. Please refer to [Bitronix official documentation](https://github.com/bitronix/btm/wiki) for more details.
+
 ## BASE Transaction
 
 Since we have not packed the BASE implementation jar into ShardingSphere-Proxy, you should copy relevant jar which implement `ShardingTransactionManager` SPI to `conf/lib`, then switch the transaction type to `BASE`.