【发布时间】:2013-07-02 07:26:02
【问题描述】:
这是一个关于如何在HazelcastInstance bean 定义上定义destroy-method 的问题。
从 hazelcast 1.9 开始,HazelcastInstance.shutdown() 方法变成了deprecated。
现在,以下似乎是不可能的 - 下面是一个来自 OSGI 蓝图的 bean 定义(它以与 spring 类似的方式定义 bean,但不完全相同):
<bean id="hazelcastInstance" class="com.hazelcast.core.Hazelcast"
factory-method="newInstance" destroy-method="shutdown">
<argument ref="hazelcastConfig"/>
</bean>
通过代码关闭 hazelcastInstance 的正确方法如下:
hazelcastInstance.getLifecycleService().shutdown();
...但是不可能在我的 bean 定义中声明 destroy-method="getLifecycleService().shutdown()"。我需要一个简单的 (public, void) destroy 方法。
不想编写包装类,是否有适当的方法通过销毁方法销毁我的 hazelcast 实例?
注意:HazelcastClient 确实提供了shutdownAll 方法,所以destroy-method="shutdownAll" 在这种情况下确实是可能的。
为什么 HazelcastInstance 不一样?我错过了什么吗?
感谢您的帮助。
【问题讨论】:
标签: java spring hazelcast blueprint-osgi spring-bean