我正在将旧应用程序(不使用 bean 或依赖注入)从 Weblogic 迁移到 WildFly。在大多数情况下,它现在可以正常工作。但是,它也以“传统方式”(new Thread()
)创建线程,这些线程无法查找 JNDI 名称,这意味着它们无法使用数据库和邮件。
看来我需要使用托管线程工厂来创建线程。这样,新线程应该仍然能够看到容器中定义的 JNDI 名称。但是,我不确定如何从容器中检索这样的工厂。我能找到的所有示例都使用依赖注入,而应用程序的编写完全没有依赖注入。
那么,如何从自己创建的线程中访问 JNDI 名称呢?或者,如何检索可用于创建仍可看到容器及其 JNDI 绑定的线程的托管线程工厂?