2013-07-02 3 views
1

Это вопрос о том, как определить destroy-method по определению bean-компонента HazelcastInstance.HazelcastInstance bean - каков правильный метод уничтожения?

Поскольку карибский 1,9, метод HazelcastInstance.shutdown() стал deprecated.

Теперь, кажется, что следующий не представляется возможным - ниже определение боба из OSGI плана (который определяет бобы подобным образом, но не точно так же, как и весной):

<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? Я что-то упускаю?

Спасибо за любую помощь.

ответ

2

Я также не вижу другого выхода, кроме создания класса-оболочки. Я спрошу, не нужно ли удалить метод HazelcastInstance.shutdown(); просто перейдите на LifecycleService. Метод shutdown - это метод, который я использую чаще всего, и, возможно, api можно немного упростить.

+0

Спасибо, было бы неплохо обесценить (переоценить?) Тот. – vikingsteve

+3

Мы повторно добавили метод выключения на HazelcastInstance. – pveentjer

+0

Удивительно, какая версия будет включать это изменение? – vikingsteve