代码之家  ›  专栏  ›  技术社区  ›  Andrew

如何制作javax。企业在普通非EE Tomcat 8中同时工作?

  •  0
  • Andrew  · 技术社区  · 6 年前

    我的技术堆栈包括

    能够使用 ManagedExecutorService 并且以更明智、更安全的方式管理线程,我希望包含这种依赖性

    我尝试以不同的方式将bean注入到不同范围的bean中(基于视图、基于会话、基于应用程序)。

      @Inject
      private javax.enterprise.concurrent.ManagedExecutorService service;
    

      @Resource
      private javax.enterprise.concurrent.ManagedExecutorService service;
    

      @Resource(lookup="java:comp/DefaultManagedExecutorService")
      private javax.enterprise.concurrent.ManagedExecutorService service;
    

    似乎什么都不管用,例外情况也发生了

    java.lang.RuntimeException:
        Error looking up java:comp/env/.../ManagedExecutorService in JNDI
    javax.naming.NameNotFoundException:
        Name [.../ManagedExecutorService] is not bound in this Context.
    

    这可能是由于不正确的bean注册。因为我一个也没找到。我扫描了整个类路径,找不到任何定义 ManagedExecutorService 或者它的任何实现。

    我试着自己在网上注册 context.xml 没用。我曾经 this TomEE tutorial

    <Resource name="ManagedExecutorService"
              type="javax.enterprise.concurrent.ManagedExecutorService" />
    

    <Resource id="ManagedExecutorService"
              type="javax.enterprise.concurrent.ManagedExecutorService" />
    

    显然不是。

    我的问题是

    1. 是否可以在非EE服务器(尤其是Tomcat 8.5)上设置并发实用程序?

    2. 如果是的话,我还缺什么?

    我不能切换到任何JavaEE应用服务器。
    我无法升级列出的依赖项。

    相关的:

    0 回复  |  直到 6 年前