【问题标题】:Spring JNDI lookup EJB Timer ServiceSpring JNDI 查找 EJB 定时器服务
【发布时间】:2014-05-08 09:55:31
【问题描述】:

Spring bean 配置中有没有办法通过 JNDI 查找 EJB 计时器服务?

实际上,有没有办法使用 spring bean config 将 EJB 容器的计时器服务注入到我的对象中?

我希望我的 spring 配置尽可能多地记录我的应用程序中使用的所有 bean/对象。

另外,直接获取会话上下文(对于 ejb 计时器)违反了安全协议。

附录:

请不要告诉我如何进行 jndi 查找。我在问我是否进行了 jndi 查找,因为我的配置已经在为其他内容进行 jndi 查找,是否有 spring web 已经为计时器预配置的 jndi?

也许我想知道,如果 spring web 有办法与 ejb 交互,我可以通过 jndi 查询或任何 spring factory bean 获取计时器。

不一定是 jndi 查找。

【问题讨论】:

  • 你的意思是@Resource TimerService timerService; 吗?
  • 是的。 (cmets 的长度必须至少为 15 个字符,傻)
  • 抱歉,不确定您现在需要什么。你可以看看CommonAnnotationBeanPostProcessor,里面有setJndiFactory选项,其实是用来解析@Resource注解的。

标签: java spring timer ejb


【解决方案1】:

是的,这是可能的。如果您知道该对象的 JNDI 名称,您可以使用:

<jee:jndi-lookup id="timer" jndi-name="TIMER_JNDI_NAME"/>

Spring Reference Manual查看更多信息

此类组件的结果将是一个 Spring Bean,您可以简单地将其注入到您的任何其他 bean。

关于文档:您可以将&lt;description&gt; 子元素用于&lt;bean&gt;s

【讨论】:

  • 请不要告诉我如何使用 jndi 查找。这不是问题。
猜你喜欢
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
  • 2015-01-25
  • 2013-02-21
  • 2012-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多