Mysql 将JDBC引用保留在web.xml之外,以便在Jetty中部署,就像在tomcat中一样

Mysql 将JDBC引用保留在web.xml之外,以便在Jetty中部署,就像在tomcat中一样,mysql,web-services,tomcat,jdbc,jetty,Mysql,Web Services,Tomcat,Jdbc,Jetty,我尝试将一些服务从Tomcat服务器移动到Jetty,只是为了进行一些比较。显然,我不想更改我的服务,但我尝试了一些问题,以便用JDBC部署它们 我的服务都使用相同的数据库来访问数据,所以我编写了自己的库来发出请求。这些服务没有关于数据库的任何信息,他们只知道他们必须使用图书馆。在此库中,我使用以下代码与数据库建立连接: InitialContext ictx = new InitialContext(); Context envCtx = (Context) ictx.lookup("java

我尝试将一些服务从Tomcat服务器移动到Jetty,只是为了进行一些比较。显然,我不想更改我的服务,但我尝试了一些问题,以便用JDBC部署它们

我的服务都使用相同的数据库来访问数据,所以我编写了自己的库来发出请求。这些服务没有关于数据库的任何信息,他们只知道他们必须使用图书馆。在此库中,我使用以下代码与数据库建立连接:

InitialContext ictx = new InitialContext();
Context envCtx = (Context) ictx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/mysql");
在Tomcat中,我的服务运行良好,只需在context.xml中添加一行:

<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/mysql" username="login" password="password" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/mysql" />

所以我只想在Jetty做同样的事情。我在jetty.xml中添加了以下块:

<New id="mysql" class="org.eclipse.jetty.plus.jndi.Resource">
    <Arg></Arg>
    <Arg>jdbc/mysql</Arg>
    <Arg>
        <New class="org.apache.commons.dbcp.BasicDataSource">
            <Set name="driverClassName">com.mysql.jdbc.Driver</Set>
            <Set name="url">jdbc:mysql://localhost:3306/mysql</Set>
            <Set name="username">login</Set>
            <Set name="password">password</Set>
        </New>
    </Arg>
</New>

jdbc/mysql
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/mysql
登录
暗语
服务器启动良好,似乎正常工作,但在尝试访问服务时出错。在jetty的手册中,我发现它明确地写道,我必须在web.xml中添加一些信息,如:

<resource-ref>
    <description>My DataSource Reference</description>
    <res-ref-name>jdbc/DSTest</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

我的数据源引用
jdbc/DSTest
javax.sql.DataSource
容器

因此,我想知道除了在我的所有web.xml服务文件中写入相同的行之外,是否还有其他解决方案?比如为我的所有服务器添加一个具有相同信息的通用xml文件

> p>您可以将其添加到WebDebug .xml中,该WebDebug作为用于处理Web.xml的基础.

此文件通常位于发行版的etc/webdefault.xml中


干杯

Jetty 7.5:Jetty-7.5.0.v20110725 2011年7月25日谢谢这正是我想要的:)