【问题标题】:where do I put tomcat context.xml data in JBoss EAP 7.0.0?在 JBoss EAP 7.0.0 中我应该把 tomcat context.xml 数据放在哪里?
【发布时间】:2016-12-30 20:52:13
【问题描述】:

我在 Tomcat 上有一个应用程序。它使用 mysql 进行持久化。我在context.xml中定义mysql连接相关数据如下:

<Context>

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->
    <Resource 
        auth="Container" 
        description="User database that can be updated and saved" 
        name="jdbc/VTREProto" 
        type="javax.sql.DataSource"
        maxActive="100" 
        maxIdle="30" 
        maxWait="10000" 
        removeAbandoned="true"
        username="vtreapp" 
        password="vtre!@#$%" 
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/developermodule" 
        />

</Context>

我在我的 java 代码中访问它:

    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");

我想迁移到 JBoss EAP 7.0.0。我如何以及在哪里指定 JBoss EAP 7.0.0 中的上述资源而不破坏我的 java 代码。

感谢和问候

【问题讨论】:

    标签: java mysql xml jboss


    【解决方案1】:

    在 JBoss 中,您不需要 context.xml。 您只需要根据您运行 JBoss 的模式在配置文件中创建一个数据源:(standalone.xml 或 domain.xml)。

    例如,我建议您将 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

    【讨论】:

    • 这是一个很好的答案。但是如何将 Environment 元素从 context.xml (Tomcat) 迁移到 Wildfly 或任何 JBoss 应用程序服务器?
    • @Chase 在 tomcat 中可以迁移到 jboss 为 。例如 - &lt;properties&gt; &lt;property name="myrepodir" value="C:\Windows\myuser\proj1\repo"/&gt; &lt;/properties&gt;&lt;system-properties&gt; &lt;property name="myrepodir" value="C:\Windows\myuser\proj1\repo"/&gt; &lt;/system-properties&gt;
    猜你喜欢
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多