使用 Blueprint Container 规范构建 OSGi 应用程序
2009-11-26 00:00:00 来源:WEB开发网
清单 5. 范围示例 <bean id=”prototypeAccount” class=“org.apache.geronimo.osgi.Account”
scope=”prototype”>
<argument value=”4”/>
</bean>
<bean id=”singletonAccount” class=“org.apache.geronimo.osgi.Account”
scope=”singleton”>
<argument value=”5”/>
</bean>
生命周期回调
bean 管理器还可以管理它所创建的对象的生命周期,并在所有属性被注入或对象被销毁时通知对象。Blueprint Container 规范指定了两种回调方法:
init-method指定了一种方法,该方法在所有属性被注入时将得到调用。 destroy-method 指定了一种方法,该方法在 Blueprint Container 销毁对象实例时得到调用。
destroy-method 回调在 prototype 范围中不受 bean 支持。由应用程序负责销毁这些实例。所有生命周期方法都必须是公共的,不包含任何参数,并且不返回值。
清单 6 展示了一个 Java 类的实例,它具有生命周期方法和一个 Blueprint XML bean 条目,后者指定了 init-method 和 destroy-method 属性。
清单 6. 生命周期回调示例 public class Account {
public Account(long number) {
...
}
public void init() {
...
}
public void destroy() {
...
}
}
<bean id=”accountFour” class=“org.apache.geronimo.osgi.Account”
init-method=”init” destroy-method=”destroy”>
<argument value=”6”/>
<property name=”description” value=”#6 account”/>
</bean>
更多精彩
赞助商链接