В проекте, над которым я сейчас работаю, у нас есть около 20 различных EJB 2 JAR-файлов, которые используются несколькими (Swing-) клиентами.
Пример:
customer-1.0.0.jar
^ ^
| |
client-app-1 client-app-2
Эти разные клиентыприложения имеют разные циклы выпуска, поэтому им обычно нужны разные версии одних и тех же EJB-компонентов.Развертывание этих bean-компонентов одновременно, конечно, не работает, потому что они имеют одинаковое имя JNDI.Поскольку у меня есть опыт работы с EJB 3, я подумал, что развертывание EJB 2-компонентов в EAR для каждого приложения решит проблему, поскольку пространство имен EAR JNDI используется в EJB 3-бинах (например, client-app-1 / CustomerBean, client-app-2 / CustomerBean и т. Д.).Однако, похоже, что это не относится к EJB 2.
Теперь, есть ли способ префиксировать имена JJDI EJB 2 с пространством имен EAR, в которое они упакованы?Я знаю, что перенос этих (устаревших) bean-компонентов в EJB 3 будет одним из ответов, но в настоящее время у нас нет времени для этого.
Если ответ зависит от сервера приложений: мы используем JBoss 4.2.3.GA.