WEB开发网
开发学院软件开发Java Apache Geronimo 中的依赖注入,第 2 部分: 下一代... 阅读

Apache Geronimo 中的依赖注入,第 2 部分: 下一代

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 启动和停止 GBean在进一步深入讨论 DI 之前,还有一个值得注意的生命周期主题:开始和启动 bean,Apache Geronimo 中的依赖注入,第 2 部分: 下一代(5),如果想以编程方式装入 GBean,是可行的,持久性属性被永久保存,非持久性属性只在 GBean 实例的生存期间保持

启动和停止 GBean

在进一步深入讨论 DI 之前,还有一个值得注意的生命周期主题:开始和启动 bean。如果想以编程方式装入 GBean,是可行的。清单 4 显示了如何以编程方式装入 GBean,这个 GBean 的名称是通过 Java Management Extension (JMX) 接口定义的。


清单 4. 手动处理 GBean 的生命周期
GBeanMBean gmb = new GBeanMBean(Customer.getGBeanInfo()); 
gmb.setAttribute("name","Homer"); 
gmb.setAttribute("salary", 2500.00); 
ObjectName myGbeanName = ObjectName.newInstance( 
    "Geronimo.my:Customer=customer1"); 
kernel.loadGBean(myGbeanName, gmb); 
kernel.startGBean(myGbeanName); 
//do some work with Customers 
kernel.stopGBean(myGbeanName); 
kernel.unloadGBean(myGbeanName); 

当然,对于您所创建的大多数 GBean 来说并不需要做这点 —— 容器会根据所提供的部署计划装入它们。可以看到,没有什么会妨碍您在代码中装入、启动和停止自己的 GBean 引用。

GBean 状态

与其他对象引用一样,GBean 也以属性或者对其他 GBean 引用的形式包含状态信息。GBean 的属性是由 GBean 对象的一个属性所包含的值。换句话说,属性对应着 GBean 类中的一对访问器/修改器方法(例如 getter 和 setter)。引用则类似于普通 JavaBean 中的对象引用,只是这时是显式地引用到另一个 GBean。稍后会详细介绍引用。

属性既可以是持久性的也可以是非持久性的。持久性的属性在 GBean 的实例之间保持它们的值。通过对 GBean 进行序列化或者其他机制(例如保存在数据库中),持久性属性被永久保存。非持久性属性只在 GBean 实例的生存期间保持它们的值,在实例消失后也消失。

上一页  1 2 3 4 5 6 7  下一页

Tags:Apache Geronimo 依赖

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接