osgi-подобная структура без ограничений на импорт / экспорт? - PullRequest
0 голосов
/ 17 ноября 2009

Мне нравится OSGi, но ограничения на импорт / экспорт и отсутствие загрузчика классов контекста создают хаос при попытке использовать сторонние библиотеки (например, некоторые библиотеки пытаются найти file.xml в META-INF, ожидая всех таких файлов) во всех банках, которые будут возвращены, другие библиотеки используют ServiceLoader).

Я хочу динамическую загрузку OSGi, возможность обрабатывать несколько версий одной и той же библиотеки и сервисную среду.

Так, каковы мои альтернативы? Я знаю о JPF, ищу что-то менее xmlish.

Ответы [ 3 ]

0 голосов
/ 18 ноября 2009

Я хочу динамическую загрузку OSGi, возможность обрабатывать несколько версий одной и той же библиотеки и сервисную среду.

Существуют и другие сервисные инфраструктуры, но для получения динамической загрузки и нескольких версий того же класса OSGi не знает ничего другого, о чем я знаю.

Кроме того, теперь, когда OSGi, похоже, наконец-то набирает обороты, усиливается давление на библиотеки, чтобы они «хорошо играли». SpringSource , например, поддерживает растущую коллекцию библиотек OSGified. Пакет, который вам нужен, может быть уже там.

0 голосов
/ 07 декабря 2009

У меня была эта проблема с отдельным почтовым комплектом java, отличным от моего комплекта активации java. У вас есть следующие опции, чтобы получить 1 пакет для просмотра файлов (т.е. не ресурсов Java, а таких вещей, как файлы XML) в META-INF других пакетов.

1) Слить связки вместе. Это часто нелогично иметь дело или просто невозможно для проекта.

2) Пусть пакеты, которые должны совместно использовать ресурсы, должны быть фрагментами пакета, которые должны считывать ресурсы. Фрагменты пакета определяются спецификацией OSGi и позволяют отдельным пакетам совместно использовать ресурсы, как если бы они были объединены вместе.

0 голосов
/ 17 ноября 2009

Вы пробовали поискать в Google для каждой библиотеки + osgi? Быстрый взгляд показывает некоторые другие переживания и (казалось бы) успехи.

Извините за "просто Google it answer", но так как я не активно использую эти библиотеки в своем приложении OSGi, я могу только предложить, как я справился с этим для некоторых из моих библиотек ... который был Google.

Это не очень хороший ответ, но я не хочу, чтобы это скрывалось в комментариях.

...