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:
	
| 12
 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();
		} |