Also ich arbeite mit EJB's und so...
Was ich mache ist: ich habe einen TimerTask, der mir 1x pro Stunde Daten aus einer DB holt (per findAll() ), die dann etwas "bearbeitet" und in eine HashMap schreibt. Diese Map schreib ich dann in den Cache und arbeite dann damit weiter...
Mein Problem ist jetzt: wenn ich den Server ein paar Stunden laufen lasse, dann bekomme ich eine Exception und es geht gar nix mehr:
und dann stuendlich...
Also ich habe noch nicht so viel mit dem TimerTask gearbeitet. Ich schaetze mal, dass ich irgendwo was loeschen/schliessen muesste und es halt nicht tu... Muss ich irgendwo ejbRemove aufrufen?
Bin fuer jede Idee dankbar!
THX B.
Was ich mache ist: ich habe einen TimerTask, der mir 1x pro Stunde Daten aus einer DB holt (per findAll() ), die dann etwas "bearbeitet" und in eine HashMap schreibt. Diese Map schreib ich dann in den Cache und arbeite dann damit weiter...
Mein Problem ist jetzt: wenn ich den Server ein paar Stunden laufen lasse, dann bekomme ich eine Exception und es geht gar nix mehr:
Code:
>> ... Exception caught while extracting/merging data java.rmi.RemoteException: EJB Exception: ; nested exception is:
javax.ejb.EJBException: EJB Exception: : weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool cedPool to allocate to applications, please increase the size of the pool and retry..
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:203)
at weblogic.jdbc.jts.Driver.newConnection(Driver.java:707)
at weblogic.jdbc.jts.Driver.createLocalConnection(Driver.java:197)
at weblogic.jdbc.jts.Driver.connect(Driver.java:155)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSPersistenceManager.java:2247)
...
und dann stuendlich...
Code:
In createCacheMap(): FinderException javax.ejb.FinderException: Couldn't get connection:
weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool myPool to allocate to applications, please increase the size of the pool and retry..
weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool myPool to allocate to applications, please increase the size of the pool and retry..
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:203)
at weblogic.jdbc.jts.Driver.newConnection(Driver.java:707)
at weblogic.jdbc.jts.Driver.createLocalConnection(Driver.java:197)
at weblogic.jdbc.jts.Driver.connect(Driver.java:155)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSPersistenceManager.java:2247)
...
Also ich habe noch nicht so viel mit dem TimerTask gearbeitet. Ich schaetze mal, dass ich irgendwo was loeschen/schliessen muesste und es halt nicht tu... Muss ich irgendwo ejbRemove aufrufen?
Bin fuer jede Idee dankbar!
THX B.