Я использую сервисы OSGi через определение компонентов вручную.Компоненты службы состоят из описания XML и объекта.Мой проект работал нормально, пока я не попытался создать другой сервис в том же плагине.Теперь мне кажется, что я не должен объявлять два файла component.xml в одном плагине.
component.xml
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="ICustomerOSGiService">
<implementation class="de.checkpoint.rinteln.service.customer.service.CustomerOSGiService"/>
<service>
<provide interface="de.checkpoint.rinteln.carlofon.common.service.ICustomerOSGiService"/>
</service>
</scr:component>
Внедрив интерфейс, я могу получить доступ к реализации.
Теперь мне нужен второй файл component.xml с другой реализацией, чтобы я могзвоните так же, как первый.Но Затмение не дало мне этого.Поэтому я решил, что мне нужно их разделить.Я имею в виду 2 разных плагина, которые до сих пор работали нормально.Тем не менее, мои плагины выглядят довольно пустыми.Поэтому я хочу объединить все сервисы в одном плагине.Есть ли способ сконцентрировать компоненты как XML?Что-то вроде приведенного ниже кода (который я, кстати, уже пробовал, но, к сожалению, не работает)
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="IOSGiService">
<implementation class="de.checkpoint.rinteln.service.customer.service.CustomerOSGiService"/>
<service>
<provide interface="de.checkpoint.rinteln.carlofon.common.service.ICustomerOSGiService"/>
</service>
<implementation class="de.checkpoint.rinteln.service.customer.service.ReminderOSGiService"/>
<service>
<provide interface="de.checkpoint.rinteln.carlofon.common.service.IReminderOSGiService"/>
</service>
</scr:component>