JNDI 数据源:从 Tomcat 迁移到 jBoss/Wildfly

JNDI DataSource: migrating from Tomcat to jBoss/Wildfly

我有一个使用 Tomcat 7、Spring MVC 4.0 和 JPA(Hibernate 实现)的 Web 应用程序。我正在将此应用程序迁移到 jBoss/Wildfly 应用程序服务器。

目前,DataSource 在 Spring 配置文件中使用 JNDI 注入到应用程序中:

<jee:jndi-lookup id="dataSource" jndi-name="jdbc/MY_DB" expected-type="javax.sql.DataSource" />

数据源本身在$CATALINA_HOME/conf/context.xml中定义如下:

<Context> 
    <Resource name="jdbc/MY_DB" 
        auth="Container" 
        type="javax.sql.DataSource" 
        driverClassName="com.mysql.jdbc.Driver" 
        url="jdbc:mysql://localhost:3306/MY_DB?useUnicode=yes&amp;characterEncoding=UTF-8" 
        username="user1" 
        password="" 
        validationQuery="select 1" 
        removeAbandoned="true" 
        removeAbandonedTimeout="120" 
        maxWait="60" 
        maxActive="20" 
        maxIdle="10" /> 
</Context>

如何在 JBoss/Wildfly 中定义这个 JNDI 数据源?

首先,您必须使 JDBC 驱动程序可用于应用程序服务器;然后你可以配置数据源本身。

Data Source Configuration in AS 7 and DataSource configuration 中查看更多详细信息