You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache TomEE 10无法实例化ManagedExecutorService资源,求故障排查

问题

在全新安装的TomEE 10环境中,已按照官方文档在tomee.xml中声明如下资源:

<Resource id="Foo" type="ManagedExecutorService">
  Core = 5
  Max = 25
  KeepAlive = 5 s
  Queue = 15
  ThreadFactory = org.apache.openejb.threads.impl.ManagedThreadFactoryImpl
  Lazy = true
</Resource>

启动时,TomEE在catalina.out中抛出错误:

25-Jun-2024 21:07:30.229 SEVERE [main] jdk.internal.reflect.NativeMethodAccessorImpl.invoke Exception processing global JNDI Resources
org.apache.openejb.core.ivm.naming.LazyObjectReference$LazyNamingException: 
Error calling instance factory method: public org.apache.openejb.threads.impl.ManagedExecutorServiceImpl 
 org.apache.openejb.resource.thread.ManagedExecutorServiceImplFactory.create()
    at org.apache.openejb.core.ivm.naming.LazyObjectReference.getObject(LazyObjectReference.java:39) …

堆栈跟踪不完整,缺少“Caused by …”信息。当前环境为全新VM,安装了Ubuntu 24.04、openjdk-17以及TomEE 10.0.0-M1-plume,请问可能的错误原因是什么?

可能的错误原因及解决建议
  • ThreadFactory配置方式错误:ManagedThreadFactoryImpl是需要通过TomEE资源声明的组件,不能直接在ManagedExecutorService配置中引用全类名。需先定义一个ManagedThreadFactory类型的资源,再通过资源ID来引用,而非直接指定类名。
  • 预发布版本存在bug:你使用的TomEE 10.0.0-M1是里程碑预发布版本,可能存在线程池资源配置相关的已知问题。建议升级到TomEE 10的正式稳定版,或回退到TomEE 9稳定版本测试。
  • 配置参数格式不兼容:KeepAlive参数的5 s格式可能在该版本中不被支持,部分TomEE版本仅接受纯数字(默认单位为秒),可尝试改为KeepAlive = 5后重启测试。
  • 日志级别限制导致堆栈不全:默认日志级别可能隐藏了Caused by部分的关键信息,可修改conf/logging.properties,将java.util.logging.ConsoleHandler.level设为FINEST,重启后查看完整堆栈以定位具体报错点。

内容的提问来源于stack exchange,提问作者cpliu338

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:22:05