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

Wildfly 27中@Schedule/Weld失效,调度器无法运行求助

解决方案

1. 替换为Jakarta EE API依赖与注解

Wildfly 27基于Jakarta EE 10规范,原javax.ejb相关包已迁移至jakarta.ejb,需同步修改代码和依赖:

  • 修改Java类中的导入语句:
    // 替换所有javax.ejb开头的导入
    import jakarta.ejb.AccessTimeout;
    import jakarta.ejb.EJB;
    import jakarta.ejb.Schedule;
    import jakarta.ejb.Singleton;
    
  • 更新pom.xml中的EJB扩展API依赖为Jakarta版本:
    <dependency>
        <groupId>org.jboss.ejb3</groupId>
        <artifactId>jboss-ejb3-ext-api-jakarta</artifactId>
        <version>3.0.0.Final</version>
        <scope>provided</scope>
    </dependency>
    

2. 确保WAR包中EJB被正确扫描

Wildfly 27对WAR中EJB的扫描规则有所调整,需添加beans.xml启用CDI扫描以触发EJB容器处理:
在src/main/webapp/WEB-INF/下创建beans.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
       version="4.0" bean-discovery-mode="all">
</beans>

bean-discovery-mode="all"会确保所有EJB类被容器发现并初始化。

3. 更新Singleton部署配置

Wildfly 27对singleton-deployment.xml的命名空间进行了升级,修改配置内容为:

<?xml version="1.0" encoding="UTF-8"?>
<singleton-deployment xmlns="urn:jboss:singleton-deployment:2.0"/>

确保文件放置在src/main/webapp/META-INF/目录下,打包后位于WAR根目录的META-INF文件夹中。

4. 验证Wildfly EJB子系统定时器配置

检查Wildfly的standalone.xml(或domain.xml)中EJB子系统的定时器服务是否正常启用:
找到<subsystem xmlns="urn:jboss:domain:ejb3:19.0">节点,确认包含以下配置:

<timer-service thread-pool-name="default">
    <data-store path="timer-service-data" relative-to="jboss.server.data.dir"/>
</timer-service>

默认情况下该配置是存在的,若缺失则手动添加。

5. 开启详细日志排查问题

将EJB相关日志级别调整为DEBUG,查看部署时的具体错误信息:
在standalone.xml的<subsystem xmlns="urn:jboss:domain:logging:8.0">节点中添加:

<logger category="org.jboss.as.ejb3">
    <level name="DEBUG"/>
</logger>

重启服务器后,查看日志中是否存在EJB加载失败、定时器注册失败的细节提示。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 19:39:54