2010/7/26 Jecki <jecki...@gmail.com> > > > 2010/7/26 Muhammad Rifai <ifh...@gmail.com <ifhayz%40gmail.com>> > > > > > > > > > 2010/7/25 Jecki <jecki...@gmail.com <jecki.go%40gmail.com>> > >> > >> > >> > >> Exception stack trace-nya bisa di-copas di sini? > > > > Thanks mas buat bantuannya... > > Ini Ex Tracenya. > > 02:30:42,834 WARN JDBCExceptionReporter:77 - SQL Error: 17002, SQLState: > null > > 02:30:42,835 ERROR JDBCExceptionReporter:78 - Io exception: Connection > timed out > > 02:30:42,836 WARN NewPooledConnection:486 - [c3p0] A PooledConnection > that has already signalled a Connection error is still in use! > > 02:30:42,838 WARN NewPooledConnection:487 - [c3p0] Another error has > occurred [ java.sql.SQLException: Closed Connection ] which will not be > reported to listeners! > > java.sql.SQLException: Closed Connection > > at > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111) > > at > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145) > > at > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:207) > > at > oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1132) > > at > com.mchange.v2.c3p0.impl.NewProxyConnection.rollback(NewProxyConnection.java:855) > > at > org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183) > > at > org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162) > >> > > kalau liat dari stack trace sih ini masalah "Connection closed" bukan > "Connection timeout". > > > > > > Hmm, iyah. > > Connection closed sepertinya.. :D > > > > Jadi settingan yg harus diubah itu bukan timeout-nya. > > > > > > berikut settingan di hibernate buat C3P0 > > hibernate.c3p0.min_size=1 > > hibernate.c3p0.max_size=5 > > hibernate.c3p0.timeout=6000 > > hibernate.c3p0.max_statements=50 > > hibernate.c3p0.idle_test_period=9000 > > > > timeout udah di setting gede... :D > > Timeout justru jangan gede2. Itu di-set 6000 (second) berarti 100 > menit. Masa buat establish connection aja butuh 100 menit. Kalau > sampai terjadi berarti ada yg salah di infrastruktur. Set 5 menit saja > sudah lama. > > hmm, okay...
> Terus untuk masalah "Connection closed" justru idle_test_period harus > dikecilin. Ini interval waktu di mana c3p0 akan mengecek apakah > connection masi valid (secara fisik masih konek ke database) atau > tidak. Koneksi di-close oleh database karena tidak dipakai terlalu > lama (karena website tidak diakses atau load-nya kecil). Nah karena > itu kita "minta tolong" ke c3p0 kira2 seperti ini: > > "Tolong setiap 1 jam kalau koneksinya ga dipakai kirim SQL ini dong > 'select * from table_ku', biar si Oracle pikir koneksi ini masih > dipakai" > > Nah dengan demikian idle_test_period seharusnya nilainya jangan > terlalu besar juga. Sepertinya 30menit (1800) cukup. Kemudian jangan > lupa set preferred_test_query dengan SQL yang jika dijalankan tidak > terlalu berat, kalau bisa datanya kecil. > > Okay, Thanks sarannya mas... :) > >> > >> regards, > >> Jecki > >> > > > -- Muhammad Rifa'i