WildFly - 丢失 [jboss.naming.context.java.jdbc.__TimerPool]

WildFly - is missing [jboss.naming.context.java.jdbc.__TimerPool]

我已按照本手册从 GlassFish 迁移到 WildFly: http://wildfly.org/news/2014/02/06/GlassFish-to-WildFly-migration/

然而,当我在 WildFly 中 运行 我的应用程序时出现以下错误:

错误 [org.jboss.as.controller.management-operation](控制器引导线程)​​WFLYCTL0013:操作 ("deploy") 失败 - 地址:([("deployment" => "exampleProject-ear-1.0-SNAPSHOT.ear") ]) - 故障描述:{"WFLYCTL0180: Services with missing/unavailable dependencies" => [ "jboss.persistenceunit.\"exampleProject-ear-1.0-SNAPSHOT.ear/exampleProject-web-1.0-SNAPSHOT.war#exampleProjectPU\".FIRST_PHASE 缺少 [jboss.naming.context.java.jdbc.__TimerPool]", "jboss.persistenceunit.\"exampleProject-ear-1.0-SNAPSHOT.ear/exampleProject-web-1.0-SNAPSHOT.war#exampleProjectPU\" 缺失 [jboss.naming.context.java.jdbc.__TimerPool]" ]}

关于 jboss.naming.context.java.jdbc.__TimerPool 的错误。知道我该怎么做吗?我正在使用 WildFly 10 和 MySQL 作为数据库。

忘了这个吧。 __TimerPool 是 GlassFish 中数据源的名称,我在不知情的情况下使用它,我只是删除了包含它的 persistence.xml 文件并且它起作用了。

检查你的 standalone.xml。它必须具有 pool-name "exampleProjectPU" 的数据源。像这样的东西。请删除完整的 xml 块。

<datasources>
       <datasource jndi-name="xxx:exampleProjectPU" pool-name="exampleProjectPU" enabled="true">

<connection-url>jdbc:oracle:thin:@//host:port/SID</connection-url>
             <driver>oracle</driver>
                  <security>
                        <user-name></user-name>
                        <password></password>
                    </security>
                </datasource>
  • 转到部署文件夹并检查是否有名称为 "example project.war" 的示例项目。如果是,请将其删除并重新启动服务器。它应该可以正常工作。