我想知道如何修改server.xml文件,以便在axis2上构建的所有webservices都可以使用Connection Pooling与DB通信。每个Web服务都有一个不同的数据源,一个指向一个DB实例,另一个指向另一个DB服务器。如何指定每个服务应使用的上下文?
提前致谢, POJO
答案 0 :(得分:1)
如果要在项目中使用连接池,请确保为Tomcat连接池设置以下代码以在context.xml文件中工作:
1)创建名为“context.xml”的文件,如果它在目录“WebContent / META-INF / context.xml”下不存在,则包含以下内容:
对于我的项目,请使用适当的值进行修改:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/dbcp" docBase="dbcp">
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
removeAbandoned="true" removeAbandonedTimeout="30" maxActive="80"
maxIdle="30" maxWait="10000" username="sontn" password="nhantien"
driverClassName="org.postgresql.Driver"
url = "jdbc:postgresql://localhost/group8" useUnicode="true"
characterEncoding="utf-8" characterSetResults="utf8"/>
</Context>
或者您可以将file:context.xml复制到目录“$ Catalian \ webapps \ axis2 \ META-INF”
如何获得连接池?
在您的webservice方法中:使用以下内容创建方法getConnection():
public Connection getConnection() {
Connection connection = null;
try {
Context envCtx = (Context) new InitialContext().lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/TestDB");
connection = ds.getConnection();
}
catch (Exception e) {
System.out.println("Connection error: " + e.getMessage());
}
return connection;
}
由于