12.07.2015 Views

VisiBroker Edition

VisiBroker Edition

VisiBroker Edition

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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

混 合 使 用 非 型 别 和 型 别 对 象 封 装 器Java:for (CORBA::ULong i=0; i < 3; i++) {switch (i) {case 0:loc = VISObjectWrapper::Client;propname = "TRACEWRAPclient";list = &_clientfacts;break;case 1:loc = VISObjectWrapper::Server;propname = "TRACEWRAPserver";list = &_serverfacts;break;case 2:loc = VISObjectWrapper::Both;propname = "TRACEWRAPboth";list = &_bothfacts;break;}CORBA::String_var getArgValue(property_value(propname));if (arg && strlen(arg) > 0) {int numNew = atoi((char*) arg);char key_buf[256];for (CORBA::ULong j=0; j < numNew; j++) {sprintf(key_buf, "%s-%d", propname, list->size());list->add(new TraceObjectWrapperFactory(loc,(const char*) key_buf));}}}}}非 型 别 封 装 器 是 在 UtilityObjectWrappers 封 包 中 定 义 的 , 封 装 器 包 含 服 务 初 始 化器 UtilityObjectWrappers/Init.java, 如 下 所 示 。 如 果 在 命 令 行 中 指 定 -Dvbroker.orb.dynamicLibs=UtilityObjectWrappers.Init 且 带 vbj 选 项 启 动 客 户 或服 务 器 , 则 会 调 用 该 初 始 化 器 。 上 表 摘 要 介 绍 了 可 用 于 安 装 各 种 非 型 别 对 象 封 装 器的 命 令 行 变 量 。package UtilityObjectWrappers;import java.util.*;import com.inprise.vbroker.orb.ORB;import com.inprise.vbroker.properties.PropertyManager;import com.inprise.vbroker.interceptor.*;public class Init implements ServiceLoader {com.inprise.vbroker.orb.ORB _orb;public void init(final org.omg.CORBA.ORB orb) {_orb = (ORB) orb;PropertyManager pm= _orb.getPropertyManager();try {ChainUntypedObjectWrapperFactory factory =ChainUntypedObjectWrapperFactoryHelper.narrow(orb.resolve_initial_references("ChainUntypedObjectWrapperFactory"));// 安 装 自 己 的 Timing ObjectWrapper使 用 对 象 封 装 器 22-23

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

Saved successfully!

Ooh no, something went wrong!