доступ к параметрам командной строки от пакета OSGi

7
задан skaffman 25 January 2011 в 10:00
поделиться

2 ответа

Вероятно, нет. Я думаю стандарт, средство запуска Felix делает некоторую проверку командной строки и только принимает dir кэша пакета как аргумент. Больше чем один аргумент и выходы средства запуска.

можно использовать системные свойства для передачи информации в командной строке, и я думаю, что это работает не только в felix, но также и в других osgi контейнерах, но и это, вероятно, подает заявку, не очень удобную для пользователя.

1
ответ дан 6 December 2019 в 23:14
поделиться

Поздний ответ, но, возможно, кто-то сочтет его полезным.

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

Ключ к этому - это то, что определено в новой спецификации OSGi 4.2, а именно запуск Framework. Вы можете прочитать об этом в Черновой спецификации (находится в Черновике на www.osgi.org) в разделе Жизненного цикла.

Это стандартный способ запуска инфраструктуры OSGi (любой реализации, поддерживающей OSGi 4.2) из ​​автономного Java-приложения. Замечательно то, что вам не нужно знать, какую реализацию вы запускаете (Felix, Equinox, ...), пока она находится в CLASSPATH.

Таким образом, ваше приложение запуска считывает аргументы командной строки, создает и запускает инфраструктуру OSGi и передает аргументы вашему пакету (любым удобным для вас способом). То, что вы получаете в приложении запуска, - это контекст для структуры, из которой вы можете общаться со своими пакетами.

Начиная с Equinox 3.5M6 (я думаю, по крайней мере, M6) это поддерживается. Последняя версия Apache Felix также поддерживает это.

2
ответ дан 6 December 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: