2.3. 启动和停止 ORB 和 BOA/POA
BOA 指的是 Basic Object Adapter,而 POA 指的是 Portable Object Adepter。
在创建任何应用程序对象之前,JBoss Transaction 服务需要正确地进行初始化。为了确保这一点,你必须使用
initORB 方法,以及 ORB Portability 手册里描述的 ORBInterface 类的 initBOA 或initPOA 方法中的一个。请勿使用底层 ORB 提供的 ORB_init、BOA_init 或 create_POA 方法,因为它们会导致不正确地操作应用程序。
例 2.1. ORB 初始化
public static void main (String[] args)
{
ORBInterface.initORB(args, null);
ORBInterface.initOA();
. . .
};
ORBInterface 方法
orb- 返回对 ORB 的引用
boa- 返回对 BOA 的引用
poa- 返回对 POA 的引用
rootPoa- 返回对根 POA 的引用
shutdownOA- 关闭 BOA。在
shutdownORB和终止应用程序之前运行它。 shutdownORB- 关闭 ORB。在
shutdownOA之后使用它。在终止应用程序之前运行它。
在终止应用程序之前,依次使用
shutdownOA 和 shutdownORB 方法。这允许 JBoss Transaction 服务执行必需的清理程序。根据所使用的 ORB,shutdownOA 程序可关闭 BOA 或 POA。
例 2.2. 关闭 ORB
public static void main (String[] args)
{
. . .
ORBInterface.shutdownOA();
ORBInterface.shutdownORB();
};
在调用
shutdown 之后请勿使用更多 CORBA 对象。在使用更多的 CORBA 对象之前,你需要重新初始化 BOA/POA 和 ORB。
注意
本指南后面的内容里将使用术语 Object Adapter 来交替地引用 BOA 或 POA。如有可能,本指南使用 ORB Portability 类来标记 POA 和 BOA 的不同。