1
votes

My project uses struts,hibernate and spring,oracle db ,WebLogic server.

I have a transaction inserting a lot of tables(about 20),and i'm pretty sure of its running in a transaction.

Now I found that sometimes(a probability of 0.001?) the table isn't inserted completely, like inserted 10 tables successfully and the others didn't.

Below are the error log from spring.

ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'] SQLErrorCodesFactory: Error while extracting database product name - falling back to empty error codes org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is java.sql.SQLException: Connection has been administratively disabled. Try later.

what's spring ( or hibernate's transaction manager or weblogic) will do when a connection is administratively disabled.

1
You need to more than "pretty sure" that you're running in a transaction. Make very sure.skaffman

1 Answers

0
votes

I am not a Weblogic expert , but sounds related to pool management ... Could you check for any fixes with your Weblogic server (don't know what version you are using).... Under some circumstances your pool can't filled quickly enough , so no connections available.... I think that the pool should be able to come back to a standard context as soon as the database answers quickly enough...(just a guess)