我在Tomcat上有一个应用程序。它使用mysql进行持久化。我在context.xml中定义了与mysql连接相关的数据,如下所示:
InitialContext initCTX = new InitialContext();
// Lookup the DataSource, which will be backed by a pool
// that the application server provides.
pool = (DataSource)initCTX.lookup("java:comp/env/jdbc/VTREProto");
我在我的java代码中访问它:
{{1}}
我想迁移到JBoss EAP 7.0.0。如何以及在何处在JBoss EAP 7.0.0中指定上述资源而不破坏我的java代码。
Thanx和问候
答案 0 :(得分:0)
在JBoss中,您不需要context.xml。 您只需要在配置文件中创建一个数据源:( standalone.xml或domain.xml),这与您运行JBoss的模式相对应。
我建议您将jndi名称更改为默认值" java:jboss / datasources / VTREProto"例如。而不是" java:comp / env / jdbc / VTREProto"。
mysql数据源的一个例子:
<datasources>
<datasource jndi-name="java:jboss/datasources/VTREProto" pool-name="VTREProtoDS">
<connection-url>jdbc:mysql://localhost:3306/jbossdb</connection-url>
<driver>mysql</driver>
<security>
<user-name>admin</user-name>
<password>admin</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<validate-on-match>true</validate-on-match>
<background-validation>false</background-validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</datasource>
有关official documentation的更多详情。