Мы разрабатываем приложение Java SE, и я использую Hibernate для связи с базой данных. Моя база данных - Oracle 11g Express Edition. До сих пор я не использовал пул соединений в приложении. Но раньше я использовал пул соединений c3p0, но у меня никогда не было хорошего понимания.Каковы преимущества и недостатки использования пула соединений в приложении Java SE?
Каковы преимущества и недостатки использования c3p0 в приложении Java SE? Я могу понять, что это полезность, когда дело доходит до приложения Java EE, но Java SE?
Вот моя конфигурация для спящего режима.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:XE</property>
<property name="hibernate.connection.username">EP</property>
<property name="hibernate.connection.password">123</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="hibernate.default_schema">EP</property>
<property name="show_sql">true</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.timeout">300</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<mapping class="app.model.User"></mapping>
</session-factory>
</hibernate-configuration>
Выполнение соединений стоит дорого, а прохождение существующих ранее соединений вместо создания нового для каждого запроса намного дешевле. (Вам будет безразлично, есть ли у вашего db такая легкая нагрузка, это не имеет значения.) Обратите внимание, что мой ответ не имеет ничего общего с SE или EE, потому что проблема не имеет к этому никакого отношения. – bdares
Да, но нужно ли для приложений Java SE иметь несколько подключений одновременно? – Chan
У вас когда-нибудь будет более 1 пользователя за раз? – bdares