Я занят исследованиями и разработками с osgi и его ролью в стеке технологий. Я покупаю на всю модульность и преимущества, которые это дает с точки зрения программного компонента. Теперь, что я борюсь, чтобы обдумать, так это практические элементы следующего утверждения
"Интересной особенностью OSGi является возможность развертывания нескольких версий пакета в одном и том же контейнере. Все пакеты, развернутые в контейнере OSGi, работают в одной JVM"
Это идеальное и действительно действительно требование для меня, однако на практике это даже возможно, если мы говорим о программных компонентах, управляющих данными. Поэтому имеет смысл развернуть несколько версий пакета (или, по крайней мере, обратно совместимых версий), но если этот компонент управляет данными или ресурсом ... что мы говорим о последствиях для уровня данных и ресурсов. У них одинаково должны быть множественные и связные версии самих себя одновременно в контейнере. Если существуют 2 пакета, где они являются второстепенными версиями, но существует существенное ограничение, накладываемое на уровень ресурсов / данных, наложенный в схеме данных 2-го пакета ... не вызовет ли это проблемы.
Мой вопрос: как далеко это может зайти? Является ли это случаем обеспечения того, чтобы у нас всегда был развернут 1 из основных комплектов, и мы надеемся, что несовершеннолетние сосуществуют параллельно. Я обеспокоен тем, что внимание уделяется самому фактическому физическому комплекту jar-файлов ... но никакое внимание, уделяемое фактическим данным / ресурсам, не имеет мандата.
Кто-нибудь сталкивался с этой дилеммой раньше?