【问题标题】:Widlfly 20: Web.xml and standalone.xml configs for datasourceWildfly 20:数据源的 Web.xml 和 Standalone.xml 配置
【发布时间】:2021-01-30 05:20:43
【问题描述】:

我最初在 jboss AS 5.0 中部署了一个基于 ejb 的应用程序,我正在升级到 Wildfly 20,问题是我无法正确解析在standalone.xml 的数据源部分的 web.xml 中定义的数据源

<resource-ref>
    <res-ref-name>Midd2</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <mapped-name>jdbc/SybaseDB</mapped-name>
</resource-ref>
<resource-ref>
    <res-ref-name>Midd</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <mapped-name>jdbc/SybaseDS2</mapped-name>
 </resource-ref>

standalone.xml 中的数据源

<datasource jndi-name="java:/jdbc/SybaseDB" pool-name="SybaseDB">   
    <connection-url>jdbc:sybase:XXXX.XXXX.XXXX.XXXX/database</connection-url>
    <driver-class>com.sybase.jdbc3.jdbc.SybDriver</driver-class>    
    <driver>
        jconn3.jar
    </driver>       
    <security>
        <user-name>x</user-name>
        <password>y</password>
    </security>
      <pool>
        <min-pool-size>1</min-pool-size>
        <max-pool-size>5</max-pool-size>
      </pool>
</datasource>

<datasource jndi-name="java:/jdbc/SybaseDS2" pool-name="SybaseDS2">   
    <connection-url>jdbc:sybase:XXXX.XXXX.XXXX.XXXX/database</connection-url>
    <driver-class>com.sybase.jdbc3.jdbc.SybDriver</driver-class>
    
    <driver>
        jconn3.jar
    </driver>
    <security>
        <user-name>x</user-name>
        <password>y</password>
    </security>

    <pool>
        <min-pool-size>1</min-pool-size>
        <max-pool-size>5</max-pool-size>
    </pool>
</datasource>

但我得到了

"WFLYCTL0180: Services with missing/unavailable dependencies" => [
    "jboss.naming.context.java.module.Midd.Midd.env.Midd2 is missing [jboss.naming.context.java.module.Midd.Midd.env.jdbc.SybaseDB]",
    "jboss.naming.context.java.module.Midd.Midd.env.Midd is missing [jboss.naming.context.java.module.Midd.Midd.env.jdbc.SybaseDS2]"
]

我在谷歌阅读了很多文档,但没有任何帮助

【问题讨论】:

  • 您是部署驱动程序 JAR 还是将其安装为模块?

标签: wildfly datasource jndi


【解决方案1】:

您是否尝试过使用注解注入数据源?

@Resource(name = "jdbc/SybaseDB")
private DataSource dataSource1;
    
@Resource(name = "jdbc/SybaseDS2")
private DataSource dataSource2;

你把 jconn3.jar 放在哪里了?

【讨论】:

    猜你喜欢
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2018-04-12
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多