1

destroy-methodこれは、HazelcastInstanceBean 定義でを定義する方法に関する質問です。

hazelcast 1.9 以降、このHazelcastInstance.shutdown()メソッドは非推奨になりました。

現在、次のことはできないようです。以下は 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();

destroy-method="getLifecycleService().shutdown()"...しかし、私のビーン定義で宣言することはできません。シンプルな (public、void) destroy メソッドが必要です。

ラッパー クラスを書きたくない場合、destroy メソッドを使用してヘーゼルキャスト インスタンスを破棄する適切な方法はありますか?

注: HazelcastClient はshutdownAllメソッドを提供しているためdestroy-method="shutdownAll"、その場合は実際に可能です。

HazelcastInstance で同じことができないのはなぜですか? 何か不足していますか?

助けてくれてありがとう。

4

1 に答える 1

2

また、ラッパー クラスを作成する以外に方法はありません。HazelcastInstance.shutdown() メソッドを削除する必要がないかどうかを尋ねます。LifecycleService に転送できます。シャットダウン方法は私が最も頻繁に使用する方法であり、おそらく API を少し単純化することができます。

于 2013-08-12T05:28:07.000 に答える