1 package demo.bank.concurrency; 2 3 4 5 import java.io.*; 6 7 import org.omg.CosNaming.*; 8 9 import org.omg.CosTransactions.*; 10 11 12 13 public class Client 14 15 { 16 17 public static void main( String [] args ) 18 19 { 20 21 try 22 23 { 24 25 TheBank bank; 26 27 AccountManager acc_mgr; 28 29 TransactionFactory transactionFactory; 30 31 org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null); 32 33 34 35 NamingContextExt nc = NamingContextExtHelper.narrow(orb.resolve_initial_references("NameService")); 36 37 NameComponent [] name = new NameComponent[1]; 38 39 name[0] = new NameComponent("DigiBank", "server"); 40 41 42 43 acc_mgr = AccountManagerHelper.narrow( nc.resolve(name)); 44 45 46 47 name[0] = new NameComponent( "TransactionService", "service"); 48 49 transactionFactory = TransactionFactoryHelper.narrow( nc.resolve(name)); 50 51 52 53 System.out.println("> Opening Accounts Acc1 and Acc 2."); 54 55 56 57 Account a1 = acc_mgr.open("Acc1", (float)199.99); 58 59 Account a2 = acc_mgr.open("Acc2", (float)50.08); 60 61 62 63 65 Control control = transactionFactory.create(0); 66 67 68 69 System.out.println("\n--- Balances ---"); 70 71 System.out.println("Acc1 : " + a1.get_balance(control) ); 72 73 System.out.println("Acc2 : " + a2.get_balance(control) ); 74 75 76 77 if( ((org.omg.CORBA.Object )acc_mgr)._is_a("IDL:demo/transaction/TheBank:1.0")) 78 79 { 80 81 bank = TheBankHelper.narrow(acc_mgr ); 82 83 84 85 System.out.println("> Transfer 100,- from Acc 1 to Acc 2."); 86 87 bank.transfer(a1, a2, 100); 88 89 90 91 System.out.println("\n--- Balances ---"); 92 93 System.out.println("Acc1 : " + a1.get_balance(control) ); 94 95 System.out.println("Acc2 : " + a2.get_balance(control) ); 96 97 } 98 99 100 101 } 102 103 catch ( Exception e ) 104 105 { 106 107 e.printStackTrace(); 108 109 } 110 111 } 112 113 } 114 115 116 117 | Popular Tags |