InitOrb // ORB default TransactionService configuration InitUser // User instantiated TransactionService configuration InitClientOrb // Pure Client ORB default TransactionService configuration InitClientUser // Pure Client User instantiated TransactionService configuration
ant最初の2つのテストを実行するには、次を実行します。
ant run.orb純粋なクライアントテストケースを実行するには、サーバプロセスを開始し、クライアントテストを実行します。サーバを開始するには、次を実行します。ant run.user
ant run.userクライアントテストを実行するには、次を実行します。
ant run.client.user
lib
ディレクトリまたはjre/lib/ext/classes
ディレクトリにある、transactions.properties
ファイルを次のように変更する必要があります。
次の例は、Novell exteNd Messaging PlatformのJTSがデフォルトサービスとして設定されたときにTrasactionServiceへの初期参照を検索する方法、またその回復メソッドを呼び出し、JTSおよびJTAトランザクションマネージャのインタフェースを解決してトランザクションを開始する方法を示します。# # JBroker Transaction Service Properties # # the class name of the transaction service transaction.service.class=com.sssw.jts.api.TransactionService
package init; import javax.transaction.TransactionManager; import org.omg.CORBA.ORB; import org.omg.CosTransactions.Current; import org.omg.CosTransactions.TransactionFactory; import com.sssw.jts.api.TransactionService; /** Initialization as default TransactionService */ public class InitOrb { public static void main(String args[]) throws Exception { | System.setProperty("transaction.service.id", "EXAMPLES/INIT"); | | System.out.println("+ Initialize ORB"); | ORB orb = ORB.init(args, null); | | System.out.println("+ Find TransactionService"); | TransactionService ts = (TransactionService) | orb.resolve_initial_references("TransactionService"); | | System.out.println("+ Get TransactionManager"); | TransactionManager tm = ts.getTransactionManager(); | | System.out.println("+ Get Current"); | Current tc = (Current) | orb.resolve_initial_references("TransactionCurrent"); | | System.out.println("+ Get TransactionFactory"); | TransactionFactory tf = (TransactionFactory) | orb.resolve_initial_references("TransactionFactory"); | | System.out.println("+ Test Ok"); } }
lib
ディレクトリまたはjre/lib/ext/classes
ディレクトリにあるtransactions.properties
ファイルを次のように変更する必要があります。
次の例は、TransactionServiceオブジェクトをインスタンス化し、ORBへのトランザクションサービスとして設定し、回復メソッドを呼び出し、JTSおよびJTAトランザクションマネージャインタフェースを解決してトランザクションを開始する方法を示します。# # JBroker Transaction Service Properties # # the class name of the transaction service transaction.service.class=
package init; import java.util.Properties; import javax.transaction.TransactionManager; import org.omg.CORBA.ORB; import org.omg.CosTransactions.Current; import org.omg.CosTransactions.Control; import org.omg.CosTransactions.TransactionFactory; import com.sssw.jbroker.api.transaction.TSIdentification; import com.sssw.jts.api.TransactionService; public class InitUser { public static void main(String args[]) throws Exception { | System.setProperty("transaction.service.id", "EXAMPLES/INIT"); | | // | // [1] Create a TransactionService with some properties | // | // NOTE:SKIP THIS STEP IF USING DEFAULT TRANSACTIONSERVICE | // SET IN THE transactions.properties FILE. | // | System.out.println("+ Create TransactionService ... "); | Properties props = new Properties(); | props.setProperty(TransactionService.PROPERTY_LOG_DIRECTORY, "../../logs"); | props.setProperty(TransactionService.PROPERTY_LOG_FILEPREALLOC, "false"); | TransactionService jts = new TransactionService(props); | | // | // [2] Initialize the ORB | // | System.setProperty("ORBPort", "5555"); | ORB orb = ORB.init(args, null); | | // | // [3] Register the TransactionService | // | // NOTE:SKIP THIS STEP IF USING DEFAULT TRANSACTIONSERVICE | // SET IN THE tranactions.properties FILE. | // | System.out.println("+ Register TransactionService ... "); | TSIdentification tsIdent = (TSIdentification) | orb.resolve_initial_references("TSIdentification"); | tsIdent.identifyTransactionService(jts); | | // | // [4] Recover TM auto-recovery and synchronously | // before creating transactions... | // | System.out.println("+ Recover TransactionService ... "); | TransactionService ts = (TransactionService) | orb.resolve_initial_references("TransactionService"); | | ts.recover(null, false, null); | | if (args.length > 0) { | | System.out.println("+ ORB on Port 5555 Running ..."); | | orb.run(); | | System.out.println("+ ORB on Port 5555 Done ..."); | | System.exit(0); | } | | // | // [5] Transaction Management | // | System.out.println("+ Create Transaction with Current object ... "); | Current txCurrent = (Current) | orb.resolve_initial_references("TransactionCurrent"); | txCurrent.begin(); | txCurrent.rollback(); | | System.out.println("+ Create Transaction with TransactionFactory object ... "); | TransactionFactory txFactory = (TransactionFactory) | orb.resolve_initial_references("TransactionFactory"); | | Control tx = txFactory.create(60); | tx.get_terminator().rollback(); | | System.out.println("+ Create Transaction with TransactionManager object ... "); | TransactionManager tm = ts.getTransactionManager(); | tm.begin(); | tm.rollback(); } }
lib
ディレクトリまたはjre/lib/ext/classes
ディレクトリにある、transactions.properties
ファイルを次のように変更する必要があります。
次の例は、Novell exteNd Messaging Platformの JTSが純粋なクライアントORBのデフォルトサービスとして設定されているときに、TransactionServiceへの初期参照を検索する方法を示します。 純粋なクライアント環境では、サーバ上でアクティブなトランザクションマネージャが作動している必要があります。# # JBroker Transaction Service Properties # # the class name of the transaction service transaction.service.class=com.sssw.jts.client.TransactionService transaction.service.remote.addresses=iiop:gooners:5555
package init; import java.util.Properties; import javax.transaction.UserTransaction; import org.omg.CORBA.ORB; import org.omg.CosTransactions.Current; import org.omg.CosTransactions.Control; import org.omg.CosTransactions.TransactionFactory; import com.sssw.jbroker.api.transaction.TSIdentification; import com.sssw.jts.client.TransactionService; public class InitClientOrb { public static void main(String args[]) throws Exception { | // | // [1] Initialize the ORB | // | ORB orb = ORB.init(args, null); | | // | // [2] Find TransactionFactory, Current ... | // | System.out.println("+ Create Transaction with Current object ... "); | Current txCurrent = (Current) | orb.resolve_initial_references("TransactionCurrent"); | txCurrent.begin(); | txCurrent.rollback(); | | System.out.println("+ Create Transaction with TransactionFactory object ... "); | TransactionFactory txFactory = (TransactionFactory) | orb.resolve_initial_references("TransactionFactory"); | | Control tx = txFactory.create(60); | tx.get_terminator().rollback(); | | System.out.println("+ Create Transaction with UserTransaction object ... "); | UserTransaction userTrans = (UserTransaction) | orb.resolve_initial_references("UserTransaction"); | | userTrans.begin(); | userTrans.rollback(); } }
lib
ディレクトリまたはjre/lib/ext/classes
ディレクトリにある、transactions.properties
ファイルを次のように変更する必要があります。
次の例は、TransactionServiceオブジェクトをインスタンス化し、純粋なクライアントORBへのトランザクションサービスとして設定し、JTSおよびJTAトランザクションマネージャインタフェースを解決してトランザクションを開始する方法を示します。# # JBroker Transaction Service Properties # # the class name of the transaction service transaction.service.class=
package init; import java.util.Properties; import javax.transaction.UserTransaction; import org.omg.CORBA.ORB; import org.omg.CosTransactions.Current; import org.omg.CosTransactions.Control; import org.omg.CosTransactions.TransactionFactory; import com.sssw.jbroker.api.transaction.TSIdentification; import com.sssw.jts.client.TransactionService; public class InitClientUser { public static void main(String args[]) throws Exception { | // | // [1] Create a TransactionService with some properties | // | // NOTE:SKIP THIS STEP IF USING DEFAULT TRANSACTIONSERVICE | // SET IN THE transactions.properties FILE. | // | System.out.println("+ Create TransactionService ... "); | Properties props = new Properties(); | props.setProperty("transaction.service.remote.addresses", "iiop:localhost:2506"); | TransactionService jts = new TransactionService(props); | | // | // [2] Initialize the ORB | // | ORB orb = ORB.init(args, null); | | // | // [3] Register the TransactionService | // | System.out.println("+ Register TransactionService ... "); | TSIdentification tsIdent = (TSIdentification) | orb.resolve_initial_references("TSIdentification"); | tsIdent.identifyTransactionService(jts); | | // | // [4] Transaction Management | // | System.out.println("+ Create Transaction with Current object ... "); | Current txCurrent = (Current) | orb.resolve_initial_references("TransactionCurrent"); | txCurrent.begin(); | txCurrent.rollback(); | | System.out.println("+ Create Transaction with TransactionFactory object ... "); | TransactionFactory txFactory = (TransactionFactory) | orb.resolve_initial_references("TransactionFactory"); | | Control tx = txFactory.create(60); | tx.get_terminator().rollback(); | | System.out.println("+ Create Transaction with UserTransaction object ... "); | UserTransaction userTrans = (UserTransaction) | orb.resolve_initial_references("UserTransaction"); | | userTrans.begin(); | userTrans.rollback(); } }
Copyright © 2000-2003, Novell, Inc.All rights reserved. |