2013-09-08 4 views
1

Я написал веб-сервис, используя JAX-WS в GlassFish. Я получаю подключение к базе данных из источника данных и передаю его jOOQ.Соединение закрытое исключение после первого запроса

Context context = new InitialContext(); 
DataSource dataSource = (DataSource) context.lookup("jdbc/datasrc"); 
Connection connection = dataSource.getConnection(); 
DSLContext create = DSL.using(connection, SQLDialect.MYSQL); 

В конце запроса (на основе этого question), закрываю соединение с Apache DBUtils:

DbUtils.closeQuietly(connection); 

Проблема в том, что я могу отправить только один запрос. После этого я получаю закрытое исключение соединения. Пул соединений в GlassFish сконфигурирован с:

Transaction Isolation: read-commited 
Isolation Level: Guaranteed 
Resource Type: javax.sql.ConnectionPoolDataSource 
Datasource Classname: com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource 

Я закрываю физическое соединение? Я использую MySQL 5.5.32 на Fedora 19 с GlassFish 4 build 89. Может ли кто-нибудь помочь?

[UPDATE]

Я понижен до GlassFish 3.1.2.2 и тот же код работает просто отлично. Изменено ли поведение пула соединений в GlassFish 4?

+0

Если вы закрываете соединение в конце запроса, * конечно *, вы получите исключение, если впоследствии будете его использовать. Решение: не закрывайте его или не вводите новый для последующих запросов. – EJP

+0

@EJP смотри новость –

+0

Ничего не изменилось. Если вы закрываете соединение после первого запроса и пытаетесь его повторно использовать для другого запроса, вы получите это исключение. Если это не то, что вы делаете, вам нужно уточнить свой вопрос, потому что это то, что он говорит, как сказано в настоящее время. – EJP

ответ

Смежные вопросы