problème avec le commit en jdo de castor
bonjour je suis nouveau dans le développement avec jdo et j'ai un probleme avec le commit lorsque je veux faire une mise a jour d'un element de ma base mais lorsque je crée tout se passe sans problème
voici l'erreur que ca me donne:
Citation:
org.exolab.castor.jdo.TransactionAbortedException: Nested error: org.exolab.castor.jdo.LockNotGrantedException: persist.writeTimeoutcom.omerin.business.offers.jdo.RawDocument/<P004560_4(377905216)>/1937 by org.castor.persist.LocalTransactionContext@9a4f8e: persist.writeTimeoutcom.omerin.business.offers.jdo.RawDocument/<P004560_4(377905216)>/1937 by org.castor.persist.LocalTransactionContext@9a4f8e
at org.castor.persist.AbstractTransactionContext.prepare(AbstractTransactionContext.java:1227)
at org.exolab.castor.jdo.engine.LocalDatabaseImpl.commit(LocalDatabaseImpl.java:161)
at com.omerin.business.ProspectService.addOrModifyReport(ProspectService.java:198)
at org.alff.test.webservice.TestServlet.doPost(TestServlet.java:436)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
Caused by: org.exolab.castor.jdo.LockNotGrantedException: persist.writeTimeoutcom.omerin.business.offers.jdo.RawDocument/<P004560_4(377905216)>/1937 by org.castor.persist.LocalTransactionContext@9a4f8e
at org.exolab.castor.persist.ObjectLock.upgrade(ObjectLock.java:766)
at org.exolab.castor.persist.LockEngine$TypeInfo.upgrade(LockEngine.java:1363)
at org.exolab.castor.persist.LockEngine$TypeInfo.access$700(LockEngine.java:1132)
at org.exolab.castor.persist.LockEngine.writeLock(LockEngine.java:881)
at org.castor.persist.AbstractTransactionContext.writeLock(AbstractTransactionContext.java:1066)
at org.exolab.castor.persist.ClassMolder.preStore(ClassMolder.java:754)
at org.exolab.castor.persist.LockEngine.preStore(LockEngine.java:799)
at org.castor.persist.AbstractTransactionContext.prepare(AbstractTransactionContext.java:1198)
... 22 more
Caused by: org.exolab.castor.jdo.LockNotGrantedException: persist.writeTimeoutcom.omerin.business.offers.jdo.RawDocument/<P004560_4(377905216)>/1937 by org.castor.persist.LocalTransactionContext@9a4f8e
at org.exolab.castor.persist.ObjectLock.upgrade(ObjectLock.java:766)
at org.exolab.castor.persist.LockEngine$TypeInfo.upgrade(LockEngine.java:1363)
at org.exolab.castor.persist.LockEngine$TypeInfo.access$700(LockEngine.java:1132)
at org.exolab.castor.persist.LockEngine.writeLock(LockEngine.java:881)
at org.castor.persist.AbstractTransactionContext.writeLock(AbstractTransactionContext.java:1066)
at org.exolab.castor.persist.ClassMolder.preStore(ClassMolder.java:754)
at org.exolab.castor.persist.LockEngine.preStore(LockEngine.java:799)
at org.castor.persist.AbstractTransactionContext.prepare(AbstractTransactionContext.java:1198)
at org.exolab.castor.jdo.engine.LocalDatabaseImpl.commit(LocalDatabaseImpl.java:161)
at com.omerin.business.ProspectService.addOrModifyReport(ProspectService.java:198)
at org.alff.test.webservice.TestServlet.doPost(TestServlet.java:436)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
Caused by: org.exolab.castor.jdo.LockNotGrantedException: persist.writeTimeoutcom.omerin.business.offers.jdo.RawDocument/<P004560_4(377905216)>/1937 by org.castor.persist.LocalTransactionContext@9a4f8e
at org.exolab.castor.persist.ObjectLock.upgrade(ObjectLock.java:766)
at org.exolab.castor.persist.LockEngine$TypeInfo.upgrade(LockEngine.java:1363)
at org.exolab.castor.persist.LockEngine$TypeInfo.access$700(LockEngine.java:1132)
at org.exolab.castor.persist.LockEngine.writeLock(LockEngine.java:881)
at org.castor.persist.AbstractTransactionContext.writeLock(AbstractTransactionContext.java:1066)
at org.exolab.castor.persist.ClassMolder.preStore(ClassMolder.java:754)
at org.exolab.castor.persist.LockEngine.preStore(LockEngine.java:799)
at org.castor.persist.AbstractTransactionContext.prepare(AbstractTransactionContext.java:1198)
at org.exolab.castor.jdo.engine.LocalDatabaseImpl.commit(LocalDatabaseImpl.java:161)
at com.omerin.business.ProspectService.addOrModifyReport(ProspectService.java:198)
at org.alff.test.webservice.TestServlet.doPost(TestServlet.java:436)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
voici ma fonction:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| public void addOrModifyReport(RawDocument rawDocument) {
try {
Database db = DbProvider.getInstance().getDbTransaction(company.getDbAlias());
db.begin();
Utilisateur s = null;
com.omerin.business.offers.jdo.RawDocument c = null;
boolean isNew = false;
com.omerin.business.offers.jdo.Utilisateur ut = (com.omerin.business.offers.jdo.Utilisateur) db.load(com.omerin.business.offers.jdo.Utilisateur.class, rawDocument.getCode_user());
if (rawDocument.getProsp_doc() == null) {
isNew = true;
c = new com.omerin.business.offers.jdo.RawDocument();
int maxIndex = new JdbcTemplate(DsProvider.getInstance().getDs(company.getDbAlias())).queryForInt("SELECT MAX(POST_DOC) FROM GO_DOCUMENT WHERE CODE_PROSP = '" + rawDocument.getCode_prosp() + "'") + 1;
// String ID1= testecriture.ID;
OQLQuery query = db.getOQLQuery("SELECT p from com.omerin.business.offers.jdo.Utilisateur p where p.cod_user = $1");
query.bind(rawDocument.getCode_user());
QueryResults qr = query.execute(Database.READONLY);
while (qr.hasMore()) {
s = (Utilisateur) qr.next();
}
c.setID(rawDocument.getID());
c.setCode_prosp(rawDocument.getCode_prosp());
c.setProsp_doc(rawDocument.getCode_prosp().concat("_").concat(String.valueOf(maxIndex)));
c.setPost_doc(maxIndex);
c.setType(rawDocument.getType());
c.setUtilisateur(ut);
c.setCode_user(s.getCod_user());
java.util.Date d = new Date();
c.setDate_dajout(new java.sql.Date(d.getTime()));
} else {
c = (com.omerin.business.offers.jdo.RawDocument) db.load(com.omerin.business.offers.jdo.RawDocument.class, rawDocument.getProsp_doc());
}
c.setTitre(rawDocument.getTitre());
c.setCommentaire(rawDocument.getCommentaire());
c.setUtilisateur(ut);
java.util.Date d = new Date();
c.setDate_dajout(new java.sql.Date(d.getTime()));
if (isNew) {
db.create(c);
}
db.commit();
db.close();
} catch (Exception e) {
e.printStackTrace();
} |