Child pages
  • Hibernate connection pooling beállítása

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

A print threadben így inditom el a másik szálat:

Code Block
new Thread(new Runnable() {

...


@Override

...


public void run() {

...


logger.trace("START PRINT THREAD => getNewDatasAndPrint() THREAD");

...


EntityManager entityManager = createEntityManager();

...


try {

...


entityManager.getTransaction().begin();

...


bkp_POSPrintService.getNewDatasAndPrint(entityManager);

...


entityManager.getTransaction().commit();

...


entityManager.close();

...


logger.trace("END PRINT THREAD => getNewDatasAndPrint() THREAD");

...


} catch (Exception ex) {

...


if (entityManager.getTransaction().isActive()) {

...


entityManager.getTransaction().rollback();

...


}

...


entityManager.close();

...


logger.warn("PRINT THREAD EXCEPTION2: " + ex.getMessage());

...


}

...


}

...


}).start();

az entity managert így hozom létre:

Code Block
public static EntityManager createEntityManager() {

...


EntityManagerFactory createEntityManagerFactory = Persistence.createEntityManagerFactory(entityManagerUnitName);

...


return createEntityManagerFactory.createEntityManager();

...


}

persistence.xml

Code Block
<?xml version="1.0" encoding="UTF-8"?>

...


<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">

...


<persistence-unit name="etelkiszallitoszamlazo">

...


<class>......</class>

...


<properties>

...


<property name="hibernate.hbm2ddl.auto" value="update" />

...


<property name="hibernate.current_session_context_class" value="thread" />

...


<property name="hibernate.format_sql" value="true" />

...


<property name="hibernate.connection.CharSet" value="utf8" />

...


<property name="hibernate.connection.characterEncoding" value="utf8" />

...


<property name="hibernate.connection.useUnicode" value="true" />

...


<property name="hibernate.archive.autodetection" value="class, hbm" />

...


<property name="hibernate.show_sql" value="true" />

...


<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />

...


<property name="hibernate.connection.password" value="" />

...


<property name="hibernate.connection.url" value="jdbc:mysql://localhost/DBNEV" />

...


<property name="hibernate.connection.username" value="root" />

...


<property name="hibernate.dialect" value="hgexengine.utils.server.hibernate.Mysql5BitBooleanDialect" />

...


<property name="hibernate.c3p0.min_size" value="1" />

...


<!-- 5 -->

...


<property name="hibernate.c3p0.max_size" value="4" />

...


<!-- 20 -->

...


<property name="hibernate.c3p0.timeout" value="1200" />

...


<!-- 1800 -->

...


<property name="hibernate.c3p0.max_statements" value="15" />

...


<!-- 50 -->

...


<property name="hibernate.c3p0.idle_test_period" value="300" />

...


</properties>

...


</persistence-unit>

...


</persistence>

mysql-nel a mysql-huge config fájlt használom...

és ezt az exceptiont kapom:

Pre

2013-03-25/13:32:29.937/CET [Thread-479] TRACE (hu.eggproject.etelkiszallito.szamlazo.server.servlet.PrintThread:103) - run - END PRINT THREAD => getNewDatasAndPrint() THREAD
2013-03-25/13:32:56.343/CET [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2] WARN (com.mchange.v2.resourcepool.BasicResourcePool:1841) - run - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@114344a -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: 
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"
at sun.reflect.GeneratedConstructorAccessor193.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1102)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2142)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:773)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.GeneratedConstructorAccessor62.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

...

valaki valami tipp hogy mit rontok el  ? (smile)

...