12.07.2015 Views

VisiBroker Edition

VisiBroker Edition

VisiBroker Edition

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

使 用 型 别 对 象 封 装 器import com.inprise.vbroker.PortableServerExt.BIND_SUPPORT_POLICY_TYPE;public class TypedServer {public static void main(String[] args) throws Exception {// 初 始 化 ORB。org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);// 为 帐 户 管 理 器 对 象 添 加 两 个 型 别 对 象 封 装 器Bank.AccountManagerHelper.addServerObjectWrapperClass(orb,BankWrappers.SecureAccountManagerObjectWrapper.class);Bank.AccountManagerHelper.addServerObjectWrapperClass(orb,BankWrappers.CachingAccountManagerObjectWrapper.class);// 取 得 根 POA 的 引 用POA rootPOA =POAHelper.narrow(orb.resolve_initial_references("RootPOA"));// 创 建 BindSupport 策 略 , 该 策 略 使 POA 将 每 个 服 务 对 象 注 册// 在 osagent 上org.omg.CORBA.Any any = orb.create_any();BindSupportPolicyValueHelper.insert(any,BindSupportPolicyValue.BY_INSTANCE);org.omg.CORBA.Policy bsPolicy =orb.create_policy(BIND_SUPPORT_POLICY_TYPE.value, any);// 为 持 久 testPOA 创 建 策 略org.omg.CORBA.Policy[] policies = {rootPOA.create_lifespan_policy(LifespanPolicyValue.PERSISTENT),bsPolicy};// 用 正 确 的 策 略 创 建 myPOAPOA myPOA = rootPOA.create_POA( "lilo", rootPOA.the_POAManager(),policies);// 创 建 帐 户 管 理 器 对 象 。AccountManagerImpl managerServant = new AccountManagerImpl();// 确 定 服 务 对 象 IDbyte[] managerId = "BankManager".getBytes();// 用 myPOA 上 的 ID 激 活 服 务 对 象myPOA.activate_object_with_id(managerId, managerServant);// 激 活 POA 管 理 器rootPOA.the_POAManager().activate();System.out.println("AccountManager:BankManager is ready.");for( int i = 0; i < args.length; i++ ) {if ( args[i].equalsIgnoreCase("-runCoLocated") ) {if( args[i+1].equalsIgnoreCase("Client") ){Client.doMain(orb, new String[0]);} else if( args[i+1].equalsIgnoreCase("TypedClient") ){TypedClient.doMain(orb, new String[0]);}if( args[i+1].equalsIgnoreCase("UntypedClient") ){UntypedClient.doMain(orb, new String[0]);}System.exit(1);}}// 等 待 进 入 的 请 求orb.run();使 用 对 象 封 装 器 22-17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!