Hi, I am developing a distributed java software and I found an incredible phenomenon on Linux and HP-UX. I start a java process A. Another java process B that insert records into db by hibernate is started by A. The tread in B is always be hung when it try to "seesion.getTransaction().commit" after serveral sccess as long as A is still working. Once process A is done, the hanging thread in B will go on well. Why? And the last record operation log of hibernate is below. After that, the thread in process B hung.
16:30:47,480 INFO AmoyEIBTo:65 - imqConsumerReader-0-7866702960453603840-0|count=144 16:30:47,497 DEBUG SessionImpl:247 - opened session at timestamp: 12569778474 16:30:47,498 DEBUG JDBCTransaction:82 - begin 16:30:47,498 DEBUG ConnectionManager:444 - opening JDBC connection 16:30:47,498 DEBUG JDBCTransaction:87 - current autocommit status: false 16:30:47,498 DEBUG SessionImpl:202 - opened session [dom4j] 16:30:47,498 DEBUG AbstractBatcher:410 - about to open PreparedStatement (open PreparedStatements: 0, globally: 0) 16:30:47,499 DEBUG SQL:111 - select hibernate_sequence.nextval from dual 16:30:47,513 DEBUG SequenceGenerator:105 - Sequence identifier generated: 466 16:30:47,514 DEBUG AbstractBatcher:418 - about to close PreparedStatement (open PreparedStatements: 1, globally: 1) 16:30:47,519 DEBUG AbstractSaveEventListener:135 - generated identifier: 466, using strategy: org.hibernate.id.SequenceGenerator 16:30:47,521 DEBUG JDBCTransaction:134 - commit 16:30:47,521 DEBUG AbstractFlushingEventListener:134 - processing flush-time cascades 16:30:47,522 DEBUG AbstractFlushingEventListener:177 - dirty checking collections 16:30:47,522 DEBUG AbstractFlushingEventListener:108 - Flushed: 1 insertions, 0 updates, 0 deletions to 1 objects 16:30:47,523 DEBUG AbstractFlushingEventListener:114 - Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections 16:30:47,523 DEBUG Printer:106 - listing entities: 16:30:47,523 DEBUG Printer:113 - org.dom4j.tree.DefaultElement 16:30:47,536 DEBUG AbstractBatcher:410 - about to open PreparedStatement (open PreparedStatements: 0, globally: 0) 16:30:47,536 DEBUG SQL:111 - insert into kl_case_dest (systemid, caseid, casename, casetypeid, gist, chargegist, dxfw, quantity, fwdxid, totalday, subflag, governmentid, specailday, charge, remark, opttype, caseresult, psystemid, state, version, iscurrent, oprtype, issecret, interday, opintion, orderid) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|