java - 如何将 spring bean 绑定到 JNDI 以便可以从不同的战争中访问它?
问题描述
我在 Wildfly 中部署了一个 WAR 和一个 EAR。耳朵有一个启动特定 bean 的弹簧启动应用程序。我希望 bean 的实例在 jndi 中可用,例如
java:/mySpringBean
这样我就可以从 WAR 中进行查找(它再次具有弹簧上下文)。目标是重用从 EAR spring boot 实例化的实例。
首先,我不确定这是否可能,我尝试 了https://konstantinpavlov.net/blog/2009/01/01/how-to-export-spring-managed-bean-to-jndi/ 但它似乎没有工作,从上面添加代码后,我在 JNDI 视图下的 Wildfly 管理控制台中看不到条目。
解决方案
选择您的 spring 应用程序正在引导的类之一。就我而言,有一个 starupClass 将在应用程序启动时运行。然后我@Autowired bean 到那个类。得到 IntialContext 并绑定 bean。
上下文 ctx = new InitialContext(); ctx.bind("mySpringBean", mySpringBean);
推荐阅读
- graphql - 创建突变组件
- ruby-on-rails - 'Rake db:seed' 命令在 heroku 中返回 http 错误 500
- python-3.x - python - 通过第一次出现的字母字符分割字符串
- c# - 当有多个存储库实现时,模型上的数据注释
- javascript - 什么是|| 在这段代码中做什么?这段代码的目的类似于 C 中的 switch(condition)?
- javascript - 如何在从 Google Firestore 动态加载的 OpenTok 视频聊天 API 上发布视频?
- python - 我可以使用 Python 3.7 为 AWS Linux AMI (RHEL) 创建预编译的压缩包吗?
- javascript - 为什么保存方法在查找方法回调中不起作用?
- java - 找不到按照我的目标为 Mandelbrot 上色的方法
- java - io.grpc.StatusRuntimeException:未实现:找不到方法