Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee &引用;传统的;线程无法在WildFly中查找JNDI名称_Jakarta Ee_Jndi_Wildfly_Java Ee 7_Managedthreadfactory - Fatal编程技术网

Jakarta ee &引用;传统的;线程无法在WildFly中查找JNDI名称

Jakarta ee &引用;传统的;线程无法在WildFly中查找JNDI名称,jakarta-ee,jndi,wildfly,java-ee-7,managedthreadfactory,Jakarta Ee,Jndi,Wildfly,Java Ee 7,Managedthreadfactory,我正在将一个旧应用程序(不使用bean或依赖项注入)从Weblogic迁移到WildFly。在大多数情况下,它现在运行良好。但是,它也以“传统方式”(new Thread())创建线程,这些线程无法查找JNDI名称,这意味着数据库和邮件对它们不可用 似乎我需要使用托管线程工厂来创建线程。这样,新线程应该仍然能够看到容器中定义的JNDI名称。但是,我不知道如何从容器中检索这样的工厂。我能找到的所有示例都使用依赖项注入,而应用程序的编写根本没有依赖项注入 那么,如何从自创建的线程访问JNDI名称呢?

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

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


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

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

更多信息,请参见第146页的§EE.5.21