Я хочу использовать Connection Pooling, но мое Java-приложение не является сервлетом - PullRequest
0 голосов
/ 12 февраля 2012

Часть моего проекта заключается в улучшении части моего приложения, связанной с безопасностью потоков.Я хочу иметь возможность хранить и извлекать данные из базы данных mysql через JDBC Connector / J, и я знаю, что мне нужно использовать пул соединений для этого, но мое приложение не является сервлетом ... Должен ли я по-прежнему устанавливать Tomcat и изменять конфигурациюXML-файл для источника данных пула соединений, номеров соединений и т. д ...?

Ответы [ 2 ]

3 голосов
/ 12 февраля 2012

Вам не нужен сервлет или веб-приложение для использования пула соединений с БД. Я уверен, что есть много пулов для использования, по умолчанию apache dbcp http://commons.apache.org/dbcp/

Чтобы использовать dbcp, вам нужно иметь commons-dbcp-1.4.jar (для версии 1.4) и пул commons-* (http://commons.apache.org/pool/)) в вашем classpath. Простой способ использовать пул - это использовать org.apache.commons.dbcp.BasicDataSource

BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUsername(username);
ds.setPassword(password);
ds.setUrl(jdbcUrl);
ds.setInitialSize(4);

Затем вы можете получить соединения из пула, позвонив по номеру ds.getConnection(). Кроме того, вам нужно настроить максимальное количество активных соединений, взгляните на BasicDataSource API .

0 голосов
/ 12 февраля 2012

Вместо этого вы можете использовать c3p0.

Вы можете найти всю документацию здесь: c3p0 - соединение JDBC3

...