2017-11-27 11 views
0

私のアプリケーションは、Hibernateとc3poを使用していて、Linuxでは同じ設定でうまく動作しますが、Windows 10 + eclipse Oxygen + Tomcat 8では起動しません。 Tomcatの下でHibernate/c3pOが動作しない - Windows 10:明らかなデッドロック

これらは

これは、接続の問題 hereを報告しなければならないよう
2017/11/27 18:21:03 WARN com.mchange.v2.async.ThreadPoolAsynchronousRunner - com[email protected]15cc07ce -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 

Tomcatの

起動時にコンソールが表示さいくつかの行です。

2017/11/27 18:21:14 WARN com.mchange.v2.resourcepool.BasicResourcePool - [email protected]84 -- 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: 
org.postgresql.util.PSQLException: FATALE: the remaining connection slots are reserveed to non replica superusers connections 
    at org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:469) 
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:112) 
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66) 
    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125) 
    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30) 
    at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:22) 
    at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:30) 
    at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24) 
    at org.postgresql.Driver.makeConnection(Driver.java:393) 

私はデシベルはそれがより多くを割り当てることができないと言うまで、多くの接続がある参照PostgreSQLのログから:

これは私が得る例外によって確認さそうです。私は私のhibernate.cfg.xml

<property name="hibernate.c3p0.min_size">1</property> 
<property name="hibernate.c3p0.max_size">3</property> 
<property name="hibernate.c3p0.timeout">1800</property> 
<property name="hibernate.c3p0.max_statements">50</property> 
<property name="hibernate.c3p0.idle_test_period">3000</property> 

psql -h localhost -U user dbでこれを持っている間の接続は、これまで10以上あるが、私は接続をキャプチャするためにWindowsでWiresharkRawCapを使用

正常に動作し、ログとして、接続が取得されているようですPostgresが "クエリの準備ができている"と言った後、私がよく見れば閉鎖されています。

何が起こっているのかをデバッグするために他に何が見られますか?

答えて

1

間違ったpostgresqlドライバを使用していたことが判明しました。私はJava 8を持っており、PostgreSQL JDBC 4.2 Driver, 42.1.4を使用して問題を解決しました。

関連する問題