Blueprint Osgi - Служба создана / уничтожена Слушатель

Возможно добавить Слушатель, чтобы знать, когда создается Служба Бина с определенным Интерфейсом. А когда бин с таким же интерфейсом уничтожается???

Каков наилучший способ сделать это? чтение списка инъекционных услуг

<reference-list
        id="javoraiConceptProcessList"
        interface="com.api.MyTask"
        availability="optional"
        ></reference-list>

Как узнать, когда значения списка изменились?

Я использую Gemini Blueprint(Spring)

1 ответ

Решение

Смотрите документацию проекта в IBM.

Вот как это сделать (ниже). Таким образом, вы указываете методы bind и unbind для bean-компонента, который будет вызываться.

  public class ReferenceListener {
       public void bind(ServiceReference reference) {
           ...
       }
       public void bind(Serializable service) {
           ...
       }
       public void unbind(ServiceReference reference) {
           ...
       }       
   }

   <reference-list id=”serviceReferenceListTwo” interface=”java.io.Serializable”
              availability=”optional”>
      <reference-listener 
              bind-method=”bind” unbind-method=”unbind”>
          <bean class=“org.apache.geronimo.osgi.ReferenceListener”/>        
      </reference-listener>
   </reference-list>
Другие вопросы по тегам