TomEE部署失败的数据源未找到

时间:2016-08-11 14:46:15

标签: java datasource web-deployment tomee openejb

我想将war文件部署到TomEE但是失败了:

引起:

javax.naming.NameNotFoundException: 
      Name openejb/Resource/application_name/mysql_ds" not found.

如果我重新启动服务器,部署会正常但只有一次,然后遇到同样的错误。

我在WEB-INF / resources.xml文件中定义了数据源

<tomee>
    <Resource id="mysql_ds" type="javax.sql.DataSource">
        JdbcDriver  = com.mysql.jdbc.Driver
        JdbcUrl     = jdbc:mysql://IP:3306/db?serverTimezone=UTC&amp;autoReconnect=true
        UserName    = user
        Password    = password
        JtaManaged  = true
    </Resource>
</tomee>

另外我应该提一下,有另一个克隆应用程序(开发模式)具有相同的配置,它工作正常。

1 个答案:

答案 0 :(得分:2)

您可以使用myData %>% mutate(inkjetSite = c("N", "Y")[partID %in% "PTR-HP-6122" + (is.na(partID) & grepl("6122", faultDscr)) + 1]) 定义一个或多个数据源或WEB-INF/resources.xml文件夹中的tomee.xml文件,如TomEE项目文档的corresponding section中所述:

  

可以通过/conf/tomee.xml文件或WEB-INF / resources.xml文件中的xml声明DataSource

但是,<tomee-home>/conf的语法与容器范围的定义略有不同。对于与您的网络应用程序捆绑在一起的resources.xml,应按如下方式制定:

resources.xml

请注意,标记<?xml version="1.0" encoding="utf-8"?> <resources> <Resource id="mysql_ds" type="javax.sql.DataSource"> JdbcDriver = com.mysql.jdbc.Driver JdbcUrl = jdbc:mysql://IP:3306/db?serverTimezone=UTC&amp;autoReconnect=true UserName = user Password = password JtaManaged = true </Resource> </resources> 与您问题中给出的<resources>不同。这应该适用于默认的TomEE环境。另见:rmannibucau的评论。

希望,这有帮助。