у меня такая проблема. У меня есть два комплекта чертежей OSGI. Один из них похож на сервис, а другой использует его. Я запускаю их на karaf. Итак, я хочу реализовать функциональность, поэтому, когда я останавливаю службу, мой другой пакет также должен быть остановлен. Мои XML-файлы
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd ">
<reference id="weatherService" availability="mandatory" interface="com.myslyv4uk.weather.api.WeatherService" />
<bean id="showWeatherImpl" class="com.myslyv4uk.client.impl.ShowWeatherServiceImpl"
init-method="start" destroy-method="stop" >
<argument ref="weatherService" />
</bean>
</blueprint>
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd ">
<bean id="weatherServiceImpl" class="com.myslyv4uk.weather.impl.WeatherServiceImpl"
init-method="start" destroy-method="stop" />
<service ref="weatherServiceImpl">
<interfaces>
<value>com.myslyv4uk.weather.api.WeatherService</value>
</interfaces>
</service>
</blueprint>
Код Java пропущен. Я просто скажу, что ShowWeatherService использует WeatherService для печати случайного числа. У них обоих есть метод старт/стоп. Мне нужно реализовать конфигурацию или функциональность таким образом, чтобы после удаления пакета WeatherService из karaf также был остановлен ShowWeatherService. Проблема в том, что я не могу сделать ссылку из WeatherService на ShowWeatherService, потому что это будет циклическая ссылка, если эти пакеты не запустятся. Что я должен делать? Как я могу отделить пакет от другого пакета?