【问题标题】:"Traditional" threads cannot lookup JNDI names in WildFly“传统”线程无法在 WildFly 中查找 JNDI 名称
【发布时间】:2015-03-06 12:19:12
【问题描述】:

我正在将旧应用程序(不使用 bean 或依赖注入)从 Weblogic 迁移到 WildFly。在大多数情况下,它现在工作正常。但是,它也以“传统方式”(new Thread())创建线程,这些线程无法查找 JNDI 名称,这意味着它们无法使用数据库和邮件。

看来我需要使用托管线程工厂来创建线程。这样,新线程应该仍然能够看到容器中定义的 JNDI 名称。但是,我不确定如何从容器中检索这样的工厂。我能找到的所有示例都使用依赖注入,而应用程序的编写完全没有依赖注入。

那么,如何从自创线程访问 JNDI 名称?或者,如何检索可用于创建仍可看到容器及其 ​​JNDI 绑定的线程的托管线程工厂?

【问题讨论】:

    标签: jakarta-ee jndi wildfly java-ee-7 managedthreadfactory


    【解决方案1】:

    标准托管线程工厂在 JNDI 中可用,名称为 java:comp/DefaultManagedThreadFactory

    有关更多信息,请参阅Java EE 7 spec 第 146 页的 §EE.5.21。

    【讨论】:

      猜你喜欢
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-01
      相关资源
      最近更新 更多