在Websphere中传播JavaEE上下文
我正在开发运行在WebSphere8.5上的基于Jersey的JAX-RS2应用程序。我正在使用异步特性生成一个新线程。问题是新线程没有获得jndi查找所需的JavaEE上下文。我得到的错误是: 无法完成java:comp/env名称上的JNDI操作,因为 当前线程未与Java企业版关联 应用程序组件。当JNDI客户端 在服务器的线程上不会使用java:comp/env名称 申请。确保JavaEE应用程序没有运行 java上的JNDI操作:静态代码块内或中的comp/env名称 由该应用程序创建的线程。这样的代码不一定 在服务器应用程序请求的线程上运行,因此 由java:comp/env名称上的JNDI操作支持 JavaEE7中有一个可在websphere中配置的ManagedExecutorService特性。我不能使用它,因为WebSphere8.5只支持JavaEE6。我无法提前进行查找,因为包含的第三方JAR需要JavaEE上下文才能工作在Websphere中传播JavaEE上下文,java,jakarta-ee,websphere-8,Java,Jakarta Ee,Websphere 8,我正在开发运行在WebSphere8.5上的基于Jersey的JAX-RS2应用程序。我正在使用异步特性生成一个新线程。问题是新线程没有获得jndi查找所需的JavaEE上下文。我得到的错误是: 无法完成java:comp/env名称上的JNDI操作,因为 当前线程未与Java企业版关联 应用程序组件。当JNDI客户端 在服务器的线程上不会使用java:comp/env名称 申请。确保JavaEE应用程序没有运行 java上的JNDI操作:静态代码块内或中的comp/env名称 由该应用程序创建
我想将JavaEE上下文传播到新生成的线程。如果可能,请给出建议。通过在WebSphere Application Server中创建工作管理器,可以将任务提交到具有J2EE上下文的新线程。对于WAS 8及以上版本,完整配置文件中提供的WorkManager现在也是ExecutorService。这方面的步骤是:
<feature>concurrent-1.0</feature>
<managedExecutorService jndiName="wm/myWM">
<contextService>
<jeeMetadataContext/>
<classloaderContext/>
<securityContext/>
</contextService>
</managedExecutorService>
concurrent-1.0
更多详细信息请参见pdf中的以下链接:这是不可能的。另外,这个词是spawn(和spawed),而不是span和span(除非你说的是一座桥,我听说在Moosejaw外面有一座)。更新帖子。谢谢斯不知道你的项目时间表是什么,但也许你现在可以考虑一下。它支持JAX-RS 2,因此您不需要外部Jersey和通过CONTRORES1.0功能支持MauleDeCuto服务。对于完整WebSphere 85.5,您可以考虑不要用异步调用生成新的线程使用会话EJB。有关建议,请参见“感谢天然气”。我能够通过在WebSphereAppServer中配置工作管理器来实现这一点。