Я пытался понять немного больше о более широкой картине OSGi, не читая всю спецификацию. Как и во многих других вещах, введение в то, чем на самом деле является OSGi, было, вероятно, написано кем-то, кто работал над ним в течение десятилетия и, возможно, был не в лучшем положении, чтобы поставить себя на место человека, который знает ничего об этом: -)
Глядя на пример Феликса DictionaryService
, я не совсем понимаю, что происходит. Является ли OSGi отдельным экземпляром JVM, в который вы загружаете пакеты, которые затем могут найти друг друга?
Очевидно, это , а не , просто , это потому, что другие ответы в StackOverflow явно указывают на то, что OSGi может решить проблему зависимостей распределенной системы, содержащей модули, развернутые в различных JVM (плюс FAQ хранит речь идет о сетях ).
В этом последнем случае, как компонент, работающий в одной JVM, взаимодействует с другим компонентом в отдельной JVM? Могут ли два компонента «использовать» друг друга так, как если бы они работали в одной и той же JVM (то есть с помощью локальных вызовов методов), и как OSGi управляет распределением данных по сети (например, нужно ли использовать Serializable
) ?
Или автор компонента должен использовать какой-то другой особый механизм (предоставляемый OSGi или написанный самим) для связи между удаленными компонентами?
Любая помощь высоко ценится!