Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Glassfish. Проблема с инициализацией ConnectionPool / 4 сообщений из 4, страница 1 из 1
12.12.2012, 12:12:25
    #38075503
SergeyAKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Glassfish. Проблема с инициализацией ConnectionPool
Крутится два вебсервиса
1. SOAP вебсервиса, которые сгенерирован из wsdl
2. обычный HTTP вебсервиса

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
<%@page contentType="text/xml" pageEncoding="windows-1251"%>
<%
    ru.payments.Service service = new ru.payments.Service(request, response, out);
    
    service.getMessage();


%>



В glassfish настроен пул коннектов.

у обоих сервисов web.xml одинаковый

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?xml version="1.0" encoding="UTF-8"?>


<web-app xmlns="http://java.sun.com/xml/ns/javaee"
	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	 version="3.0">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    

    <resource-ref>
            <description>DB Connection</description>
            <res-ref-name>jdbc/HBConnPool</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
    </resource-ref>


</web-app>



Вот тект метода для получения Connection

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
/**
 *
 * @author ksa
 */
public class JDBCUtils {
    private static final Logger log = Logger.getLogger(JDBCUtils.class.getName());
    private DataSource dataSource;    
    
    public JDBCUtils(){
        
    }
    
    public void init(String dataSourceName) {
        try {
            InitialContext initContext = new InitialContext();
            dataSource = (DataSource) initContext.lookup(dataSourceName);
        } catch (NamingException e) {
            log.error("JNDIException: " + e.getMessage());
        }
    }
    
    
    public Connection getConnection() throws SQLException {
        if (dataSource == null) {
            throw new SQLException("DataSource is null.");
        }

        return dataSource.getConnection();
    }
    
    
    
}                



Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
public class DataAccessFactory {
    
    private static final DataAccessFactory instance = new DataAccessFactory();
    private JDBCUtils jdbcUtil;

    private DataAccessFactory() {
    }

    public static DataAccessFactory getInstance() {
        return instance;
    }

    private JDBCUtils prepareJDBCUtils() {
        if (jdbcUtil == null) {
            jdbcUtil = new JDBCUtils();
            jdbcUtil.init("java:comp/env/jdbc/HBConnPool");
        }

        return jdbcUtil;
    }

    public static synchronized JDBCUtils getJDBCUtils() {
        return getInstance().prepareJDBCUtils();
    }
}


Проблема в том, что сервис 1 (SOAP)спокойно получает connection, другой сервис его получить не может. Т.е. получается, что сервис № 1 каким то образом инициализирует пул, а второй не может .

Что я не так сделал для второго сервиса?

Спасибо
...
Рейтинг: 0 / 0
12.12.2012, 12:21:51
    #38075528
SergeyAKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Glassfish. Проблема с инициализацией ConnectionPool
Инструкция как создавать пул взята отседова

http://www.tune-it.ru/web/nicola/main/-/blogs/jdbc-connection-pool-glassfish-oracle
...
Рейтинг: 0 / 0
12.12.2012, 12:29:15
    #38075549
SergeyAKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Glassfish. Проблема с инициализацией ConnectionPool
Все, разобрались.
Забыл вставить в сервис № 2 строчку инициализации

Код: java
1.
  private static final DataAccessFactory instance = new DataAccessFactory();
...
Рейтинг: 0 / 0
12.12.2012, 12:30:41
    #38075555
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Glassfish. Проблема с инициализацией ConnectionPool
Там где вы создавали пул в консоли glassfish где-то должны быть и его настройки.
"другой сервис его получить не может" - это в чем выражается? Ошибка какая или зависает, пока первый не освободить connection?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Glassfish. Проблема с инициализацией ConnectionPool / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]