Поставщик услуг и потребитель в Spring DM - PullRequest
0 голосов
/ 10 июня 2011

У меня есть пакет, который должен предоставить и потреблять услугу. Мой контекст приложения:

<bean id="dbConsumer" class="service.User">
    <property name="db" ref="DBservice"></property>
</bean> 

<osgi:reference id="DBservice">
    <osgi:interfaces>
        <value>com.db.manager.DatabaseManager</value>
    </osgi:interfaces>
</osgi:reference>

<bean name="ServicioZB" id="zbservice" class="service.ZBService"/>

<osgi:service  ref="zbservice">
    <osgi:interfaces>
        <value>service.IZBService</value>
    </osgi:interfaces>
</osgi:service>

Проблема при развертывании. Я работаю на Equinox, и если я смотрю сервисы, я вижу, что пакет использует DBservice. Тем не менее, сервис ничем не подвержен. Но если я уберу ссылочный тег, мой сервис будет открыт. То есть у меня есть 3 пучка (A, B, C). B экспортирует сервис, который потребляется A. Кроме того, C экспортирует сервис, который потребляется B. Тогда мой вопрос: не могут ли теги быть вместе? Как я могу разработать пакет для потребителя и предоставления услуг?

Заранее спасибо!

Привет!

1 Ответ

0 голосов
/ 10 июня 2011

Если вы используете публикацию только одного интерфейса, попробуйте использовать свойство интерфейса вместо тега interfaces.Поэтому замените

 <osgi:service ref="zbservice">
     <osgi:interfaces>
         <value>service.IZBService</value>
     </osgi:interfaces>
 </osgi:service>

на

 <osgi:service ref="zbservice" interface="service.IZBService"/>

Однажды у меня была похожая проблема, и этот подход мне помог.

...