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`.