Настройка пула соединений с БД - веб-сервис Axis2 - PullRequest
0 голосов
/ 31 июля 2009

Я хотел бы знать, как изменить файл server.xml, чтобы все мои веб-сервисы, построенные на axis2, могли общаться с БД с помощью пула соединений. Каждый веб-сервис имеет свой источник данных, один указывает на один экземпляр БД, а другой - на другой сервер БД. Как мне указать контекст, который должен использоваться каждым сервисом?

Спасибо заранее, Pojo

1 Ответ

1 голос
/ 14 декабря 2009

Если вы хотите использовать пул соединений в своем проекте, убедитесь, что у вас настроен следующий код для пула соединений 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>

Или вы можете скопировать файл: 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; 
}

Спасибо

...