0

我想知道如何修改 server.xml 文件,以便我在axis2 上构建的所有网络服务都可以使用连接池与数据库通信。每个 web 服务都有不同的数据源,一个指向一个数据库实例,另一个指向另一个数据库服务器。如何指定每个服务应使用的上下文?

在此先感谢,波乔

4

1 回答 1

1

如果要在项目中使用连接池,请确保为 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; 
}

谢谢

于 2009-12-14T19:27:48.997 回答