我想知道如何修改 server.xml 文件,以便我在axis2 上构建的所有网络服务都可以使用连接池与数据库通信。每个 web 服务都有不同的数据源,一个指向一个数据库实例,另一个指向另一个数据库服务器。如何指定每个服务应使用的上下文?
在此先感谢,波乔
我想知道如何修改 server.xml 文件,以便我在axis2 上构建的所有网络服务都可以使用连接池与数据库通信。每个 web 服务都有不同的数据源,一个指向一个数据库实例,另一个指向另一个数据库服务器。如何指定每个服务应使用的上下文?
在此先感谢,波乔
如果要在项目中使用连接池,请确保为 Tomcat 连接池设置了以下代码,以便在 context.xml 文件中工作:
1)如果目录“WebContent/META-INF/context.xml”下不存在名称为“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>
或者您可以将文件:context.xml 复制到目录“$Catalian\webapps\axis2\META-INF”
如何获得连接池?
在您的网络服务方法中:创建具有以下内容的方法 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;
}
谢谢