This week's book giveaway is in the Other Open Source APIs forum. We're giving away four copies of Storm Applied and have Sean Allen, Peter Pathirana & Matthew Jankowski on-line! See this thread for details.
After my application is migrated from WAS4 to WAS51, I started receiving warning messages in stdout.log as follows: "ConnectionMan W J2CA0075W: An active transaction should be present while processing method allocateMCWrapper."
This is because application is spawning thread in controller servlet, which in turn hits the DB. (FYI, On application start-up, we are caching the data into hashmaps for performance enhancements. I know this will cause memory issue if data size grows too much! However, data size is not huge and we are not facing any memory issue)
Bad part after migration was; I started receiving error at regular intervals (Every alternate day) as follows: "ORA-01000: maximum open cursors exceeded ".
FYI...Application is having the same code base (java code as well as database code) for WAS51 as it was for WAS4. However, Oracle JDBC driver was changed from ver 126.96.36.199 to ver 188.8.131.52.0.
However, to test if this issue is driver related issue, I revert back to old JDBC driver (ver184.108.40.206), but issue persists.
I checked if any ResultSet, Statement, Connection objects are not closed in application. However, I found that all these objects are correctly closed in finally block.
We are using websphere connection pooling with following JDBC server settings: Statement Cache Size 1000 Minimum pool size10 Maximum pool size100 Oracle JDBC driver (with version)Oracle JDBC driver (220.127.116.11.0) Oracle Driver implementation classoracle.jdbc.pool.OracleConnectionPoolDataSource Connection time out180 Idle time out1800 Disable Autoconnection cleanupFALSE OPEN_CURSOR Parameter set Oracle Initialization file400 Oracle DB Version18.104.22.168.0
Can anybody please let me know if this issue could be because of this thread, which we are spawning in servlet, which in turn hits database?
Kindly let me know. Any pointers are greatly appreciated.
Has somebody changed the database server settings? For ex in DB2, we can configure the maximum number of applications that can connect to DB2 instance. If that number is low, it will not allow further connections till one is freed. This number is configured in the database server.
Sab<br /> <br />Perfection does not come from belief or faith. Talk does not count for anything. Parrots can do that. Perfection comes through selfless work.<br />Swami Vivekananda