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:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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();
		}