【问题标题】:How to convert JDBC connection from Tomcat implementation to Jetty?如何将 JDBC 连接从 Tomcat 实现转换为 Jetty?
【发布时间】:2018-03-20 10:42:06
【问题描述】:

在我的项目中,早些时候我们使用 Tomcat 作为托管 JAX-RS REST-API 的容器。 它是使用 JDBC 连接到 Oracle。
为此,我使用 META-INF/context.xml 来指定我的连接详细信息:

<Resource name="jdbc/myconnmapping" factory="my.package.EncryptedDataSourceFactory"
            auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
            url="jdbc:oracle:thin:@//my.oracle.server:1555/jobctlss1"
            username="TOM" password="NQp5gwJdXs5KIts4OqiFN1qI/HhhRs9/eeO2lwVVL7dA+" maxActive="100" maxIdle="50"
            maxWait="-1" />

我还在&lt;Resource&gt; 标记中使用了密码加密,我在其中定义了factory="my.package.EncryptedDataSourceFactory" 参数。

然后我的连接类我正在使用他的代码连接到oracle:

Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
ds = (DataSource)envContext.lookup("jdbc/myconnmapping");

Connection con = ds.getConnection();
Class.forName("oracle.jdbc.OracleDriver");

Statement stmt = this.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(query);

到目前为止,它一直运行良好,直到我们将服务器更改为 Jetty,当我在 Jetty 的 webapp 中部署相同的 WAR 文件时,JDBC 出现连接错误。

如果任何人都可以在 web.xml 中提供相同的 &lt;resource-ref&gt; 条目,那将非常有帮助,我可以在其中调用我的自定义 DataSourceFactory 类。

【问题讨论】:

    标签: java rest tomcat jetty


    【解决方案1】:

    很可能您必须添加一个包含数据库连接元数据的 jetty-env.xml 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 2014-05-07
      • 2011-04-11
      • 1970-01-01
      • 2012-10-30
      • 2013-12-21
      相关资源
      最近更新 更多