这是一个关于如何destroy-method
在HazelcastInstance
bean 定义上定义 a 的问题。
自 hazelcast 1.9 以来,该HazelcastInstance.shutdown()
方法已弃用。
现在,似乎以下是不可能的——下面是来自 OSGI 蓝图的 bean 定义(它以类似的方式定义 bean,但不完全相同,如 spring):
<bean id="hazelcastInstance" class="com.hazelcast.core.Hazelcast"
factory-method="newInstance" destroy-method="shutdown">
<argument ref="hazelcastConfig"/>
</bean>
通过代码关闭 hazelcastInstance 的正确方法如下:
hazelcastInstance.getLifecycleService().shutdown();
...但是不可能destroy-method="getLifecycleService().shutdown()"
在我的 bean 定义中声明。我需要一个简单的(公共的,无效的)销毁方法。
不想编写包装类,是否有适当的方法通过销毁方法销毁我的 hazelcast 实例?
注意: HazelcastClient 确实提供了shutdownAll方法,因此destroy-method="shutdownAll"
在这种情况下确实是可能的。
为什么 HazelcastInstance 不一样?我错过了什么吗?
谢谢你的帮助。