【问题标题】:Injecting ManagedExecutorService in spring application在 Spring 应用程序中注入 ManagedExecutorService
【发布时间】:2017-07-06 05:15:28
【问题描述】:

我想在 Spring 应用程序中使用 ManagedExecutorService。但是弹簧无法注入它。低于错误。

原因: org.springframework.beans.factory.NoSuchBeanDefinitionException: 否 符合条件的 bean 类型 [javax.enterprise.concurrent.ManagedExecutorService] 为 依赖项:预计至少有 1 个符合自动装配条件的 bean 这种依赖的候选人。依赖注解: {@javax.annotation.Resource(shareable=true,lookup=,name=, 描述=,身份验证类型=容器,类型=类 java.lang.Object, mappedName=)}

更新

我更新代码源代码如下注入ManagedExecutorService。

@Bean(name = "commonRestThreadExecutor")
    public ManagedExecutorService commonRestThreadExecutor() throws NamingException {
        return (ManagedExecutorService) new InitialContext().lookup("java:comp/DefaultManagedExecutorService");
    }

 @Autowired
    private ManagedExecutorService commonRestThreadExecutor;

但现在我遇到了错误

引起:javax.naming.NameNotFoundException:名称> [DefaultManagedExecutorService] 未绑定在此上下文中。找不到 > [DefaultManagedExecutorService]。

【问题讨论】:

  • 为了有资格进行注入,您的ManagedExecutorService 需要首先定义。你具体是怎么定义的?你是如何指代它来代替预期的注射的?请发布源代码。
  • @Gergely Bacso 我已经添加了代码

标签: java spring javax


【解决方案1】:

以下声明解决了我的问题,

@Resource(name = "default", lookup = "java:jboss/ee/concurrency/executor/default")
  private ManagedExecutorService managedExecutorService; 

【讨论】:

    猜你喜欢
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2022-12-01
    • 1970-01-01
    • 2016-01-18
    • 2019-09-12
    • 1970-01-01
    相关资源
    最近更新 更多