如何将JDBC连接从Tomcat实现转换为Jetty?

时间:2018-03-20 10:42:07

标签: java rest tomcat jetty

在我的项目中,早些时候我们使用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" />

我还在<Resource>标记中使用了加密密码,我在其中定义了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并且JDBC在Jetty的webapp中传送相同的WAR文件时,JDBC正在发出连接错误,它一直运行良好。

如果任何人都可以在web.xml中提供相同的<resource-ref>条目,我可以调用我的自定义DataSourceFactory课程,这将非常有帮助。

1 个答案:

答案 0 :(得分:0)

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