У меня есть «фреймворк», работающий на сервере приложений Weblogic 10.0 (или 10.3), где фреймворк состоит из нескольких корпоративных приложений, каждое из которых отвечает за свой адаптер ресурсов. Клиентское приложение развертывается в домене, использует JNDI для получения ссылки на один из классов Connector адаптера ресурсов, выполняет его вызовы, и все довольны.
Предки оставили мне классы интерфейса для Соединителей и еще на системном пути к классам - это прекрасно работает.
Новое требование состоит в том, чтобы исключить "загрязнение" системного пути к классу с минимально возможным архитектурным воздействием. Я попробовал специфичные для WLS «разделяемые библиотеки J2EE», но мне пришлось увидеть, что хотя я могу упаковать классы интерфейса в библиотеку и ссылаться на них в других приложениях, классы по-прежнему загружаются отдельными загрузчиками классов приложения, и таким образом я ClassCastException, когда я пытаюсь привести объект JNDI-lookup'd в интерфейс.
Что вы предлагаете делать, знаете? В настоящее время я бы посоветовал клиентам использовать отдельный домен для этой платформы с записями пути к классам системы, но не уверен, что они примут это.
Спасибо!