Совместное использование классов интерфейса с использованием одного и того же загрузчика классов в J2EE / Weblogic 10 без использования системного пути к классам - PullRequest
0 голосов
/ 27 января 2010

У меня есть «фреймворк», работающий на сервере приложений Weblogic 10.0 (или 10.3), где фреймворк состоит из нескольких корпоративных приложений, каждое из которых отвечает за свой адаптер ресурсов. Клиентское приложение развертывается в домене, использует JNDI для получения ссылки на один из классов Connector адаптера ресурсов, выполняет его вызовы, и все довольны.

Предки оставили мне классы интерфейса для Соединителей и еще на системном пути к классам - это прекрасно работает.

Новое требование состоит в том, чтобы исключить "загрязнение" системного пути к классу с минимально возможным архитектурным воздействием. Я попробовал специфичные для WLS «разделяемые библиотеки J2EE», но мне пришлось увидеть, что хотя я могу упаковать классы интерфейса в библиотеку и ссылаться на них в других приложениях, классы по-прежнему загружаются отдельными загрузчиками классов приложения, и таким образом я ClassCastException, когда я пытаюсь привести объект JNDI-lookup'd в интерфейс.

Что вы предлагаете делать, знаете? В настоящее время я бы посоветовал клиентам использовать отдельный домен для этой платформы с записями пути к классам системы, но не уверен, что они примут это.

Спасибо!

1 Ответ

0 голосов
/ 29 января 2010

Хорошо, тогда я заключу, что это невозможно. Я думаю, что правильным решением было бы переписать приложение, чтобы использовать удаленные вызовы EJB для взаимодействия между приложениями.

См. Также Нужна помощь в понимании JNDI и определенного исключения ClassCastException в J2EE

...