3.2.3. JTS および JTA の変更
3.2.3.1. JBoss Transaction Service 設定の移行
概要
これまでのバージョンの JBoss EAP では、JBoss Transaction Service トランザクションマネージャーは以下の XML ファイルのいずれかで設定されていました。
JBoss EAP バージョン | 設定ファイル名 |
---|---|
4.2
|
jboss-eap-4.2.0/server/default/conf/jbossjta-properties.xml
|
4.3
|
jboss-eap-4.3.0/server/default/conf/jbossjta-properties.xml
|
5.2
|
jboss-eap-5.2.0/server/default/conf/jbossts-properties.xml
|
- JBoss EAP 6 には、ノード識別子のデフォルト値が含まれています。これは、単一のJBoss EAP サーバーインスタンスを実行する場合は問題ありませんが、複数のサーバーインスタンスを実行する場合は変更する必要があります。
- JBoss EAP 6 には、デフォルトで JTA トランザクションが有効になっています。JTS トランザクションを設定するには、追加の手順が必要です。
JTA トランザクションのノード識別子設定の移行
JBoss EAP 6 には、ノード識別子のデフォルト設定値が同梱されます。これは、単一のJBoss EAP サーバーインスタンスを実行する場合は問題ありませんが、ノード識別子はすべての JBoss EAP サーバーインスタンスについて一意でなければならないので、複数のサーバーインスタンスを実行する場合は値を変更する必要があります。
jbossts-properties.xml
ファイルで設定されていました。
<property name="com.arjuna.ats.arjuna.xa.nodeIdentifier" value=UNIQUE_NODE_ID/>
<property name="com.arjuna.ats.arjuna.xa.nodeIdentifier" value=UNIQUE_NODE_ID/>
transaction
サブシステムで設定されます。使用するコマンドは、管理対象ドメインとスタンドアロンサーバーのどちらを実行しているかによって異なります。
/system-property=jboss.tx.node.id:add(value=UNIQUE_NODE_ID) /subsystem=transactions:write-attribute(name=node-identifier,value="${jboss.tx.node.id}") reload
/system-property=jboss.tx.node.id:add(value=UNIQUE_NODE_ID)
/subsystem=transactions:write-attribute(name=node-identifier,value="${jboss.tx.node.id}")
reload
/host=master/server-config=server-one/system-property=jboss.tx.node.id:add(boot-time=true,value=UNIQUE_NODE_ID) /profile=PROFILE_NAME/subsystem=transactions:write-attribute(name=node-identifier,value="${jboss.tx.node.id}") reload
/host=master/server-config=server-one/system-property=jboss.tx.node.id:add(boot-time=true,value=UNIQUE_NODE_ID)
/profile=PROFILE_NAME/subsystem=transactions:write-attribute(name=node-identifier,value="${jboss.tx.node.id}")
reload
JBoss EAP 6 で JTS トランザクションを有効にするための変更
JBoss EAP 5 では、EAP5_HOME/docs/examples/transactions
ディレクトリーにある Ant スクリプトを実行して JTS トランザクションを有効にし、いくつかの手動の手順を実行していました。このスクリプトは、すべての JBoss EAP サーバー設定の jbossts-properties.xml
および jacorb.properties
ファイルが更新されました。
batch # Create a system property for the unique node identifier /system-property=jboss.tx.node.id:add(value=UNIQUE_NODE_ID) /system-property=jacorb.node.id:add(value=UNIQUE_JACORB_ID) # JacORB properties must be unique for each JBoss server instance # JacORB name must appear in JacORB context root i.e. ${jacorb.name}/Naming/root /subsystem=jacorb:write-attribute(name=transactions,value="on") /subsystem=jacorb:write-attribute(name="name",value="${jacorb.node.id}") /subsystem=jacorb:write-attribute(name="root-context",value="${jacorb.node.id}/Naming/root") /subsystem=transactions:write-attribute(name=jts,value=true) /subsystem=transactions:write-attribute(name=node-identifier,value="${jboss.tx.node.id}") run-batch reload
batch
# Create a system property for the unique node identifier
/system-property=jboss.tx.node.id:add(value=UNIQUE_NODE_ID)
/system-property=jacorb.node.id:add(value=UNIQUE_JACORB_ID)
# JacORB properties must be unique for each JBoss server instance
# JacORB name must appear in JacORB context root i.e. ${jacorb.name}/Naming/root
/subsystem=jacorb:write-attribute(name=transactions,value="on")
/subsystem=jacorb:write-attribute(name="name",value="${jacorb.node.id}")
/subsystem=jacorb:write-attribute(name="root-context",value="${jacorb.node.id}/Naming/root")
/subsystem=transactions:write-attribute(name=jts,value=true)
/subsystem=transactions:write-attribute(name=node-identifier,value="${jboss.tx.node.id}")
run-batch
reload
batch # # Define global system properties for the node identifier and JacORB implementation name. # /system-property=jboss.tx.node.id/:add(value="11",boot-time="true") /system-property=jacorb.node.id:add(value="mars",boot-time="true") /profile=PROFILE_NAME/subsystem=jacorb:write-attribute(name="security",value="on") /profile=PROFILE_NAME/subsystem=jacorb:write-attribute(name="transactions",value="on") /profile=PROFILE_NAME/subsystem=jacorb:write-attribute(name="name",value="${jacorb.node.id}") /profile=PROFILE_NAME/subsystem=jacorb:write-attribute(name="root-context",value="${jacorb.node.id}/Naming/root") /profile=PROFILE_NAME/subsystem=transactions:write-attribute(name="jts",value="true") /profile=PROFILE_NAME/subsystem=transactions:write-attribute(name="node-identifier",value="${jboss.tx.node.id:1}") run-batch reload --host=master
batch
#
# Define global system properties for the node identifier and JacORB implementation name.
#
/system-property=jboss.tx.node.id/:add(value="11",boot-time="true")
/system-property=jacorb.node.id:add(value="mars",boot-time="true")
/profile=PROFILE_NAME/subsystem=jacorb:write-attribute(name="security",value="on")
/profile=PROFILE_NAME/subsystem=jacorb:write-attribute(name="transactions",value="on")
/profile=PROFILE_NAME/subsystem=jacorb:write-attribute(name="name",value="${jacorb.node.id}")
/profile=PROFILE_NAME/subsystem=jacorb:write-attribute(name="root-context",value="${jacorb.node.id}/Naming/root")
/profile=PROFILE_NAME/subsystem=transactions:write-attribute(name="jts",value="true")
/profile=PROFILE_NAME/subsystem=transactions:write-attribute(name="node-identifier",value="${jboss.tx.node.id:1}")
run-batch
reload --host=master