#java #spring #spring-boot #wildfly #jndi
#java #spring #spring-boot #wildfly #jndi
Вопрос:
У меня есть WAR и EAR, развернутые в wildfly. В ear есть приложение spring boot, которое запускает определенный компонент. Я хочу, чтобы этот экземпляр компонента был доступен в jndi примерно так
java:/mypringbean
чтобы я мог выполнить поиск из WAR (который снова имеет контекст spring). Цель состоит в том, чтобы повторно использовать экземпляр, который был создан из EAR spring boot.
Прежде всего, я не уверен, возможно ли это вообще, я пробовал https://konstantinpavlov.net/blog/2009/01/01/how-to-export-spring-managed-bean-to-jndi но, похоже, это не работает, после того, как я добавил код сверху, я не вижу записи в консоли управления wildfly в представлении JNDI.
Ответ №1:
Выберите один из классов, в котором выполняется загрузка вашего приложения Spring. В моем случае был класс автозагрузки, который запускался при запуске приложения. Затем я @автоматически подключил компонент к этому классу. Получил IntialContext и привязал компонент.
Context ctx = new InitialContext(); ctx.bind(«mySpringBean», mySpringBean);