java - HazelcastInstance bean - 正确的销毁方法是什么?

标签 java spring hazelcast blueprint-osgi spring-bean

这是一个关于如何在 HazelcastInstance bean 定义上定义 destroy-method 的问题。

自 hazelcast 1.9 起,HazelcastInstance.shutdown() 方法变为 deprecated .

现在,似乎以下内容是不可能的 - 下面是来自 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();

...但是,不可能在我的 bean 定义中声明 destroy-method="getLifecycleService().shutdown()" 。我需要一个简单的(public,void)销毁方法。

不想编写包装类,是否有适当的方法通过销毁方法销毁我的 hazelcast 实例?

注意:HazelcastClient 确实提供 shutdownAll方法,因此 destroy-method="shutdownAll" 在这种情况下确实是可能的。

为什么 HazelcastInstance 不能实现同样的效果?我错过了什么吗?

感谢您的帮助。

最佳答案

除了创建包装类之外,我也没有看到任何其他方法。我会问 HazelcastInstance.shutdown() 方法是否不需要删除;只需转发到LifecycleService即可。 shutdown 方法是我最常使用的方法,也许 api 可以简化一点。

关于java - HazelcastInstance bean - 正确的销毁方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17419806/

相关文章:

java - 嵌套类@Configuration中的spring Bean覆盖2.1.x @Bean创建失败 'A bean with that name has already been defined'

hazelcast - 最大限度地减少 Hazelcast 的干扰和开销

java - 从 Servlet 关闭/取消部署 tomcat

java - Jquery Slides,我想要一个随时打开

java - 自定义格式化程序未注册 - ConversionNotSupportedException : Spring

java - Hazelcast:合并两个 hazelcast 实例

java - 配置 Hazelcast CPSubsystem 重试超时

java - 如何使用另一个组合框控制一个组合框?

java - 每行具有不同 JComboBox-es 的 JTable

java - 无法使用 JAXB 解码收到的请求