Some addidtions to my old email.

First of all I wonder that there was no response to my email - I thought 
that probably more people need the C/S mode.
Now I ran OJB's junit tests on a freshly unpacked and compiled OJB in 
C/S mode and they also fail because of similar exceptions. So I think if 
the junit tests fail the C/S mode must be really *not* working right 
now. When I ran the junit tests with the client and server on two 
different machines there were even more failures. So there is my question:

Is there anybody who is using the C/S mode successfully?

I find the C/S mode very buggy, the not existent getPBKey(), etc, etc. . 
Probably the developers are more concentrating on other features. For me 
the feature is quite important. So, that means I have write my own 
little server or I try to work on the OJB server.... How to become a 
contributor?

/olaf


Olaf Geibig wrote:

> Hello
>
> I'm getting more and more desperate about OJB's behaviour in C/S mode. 
> I cannot make it work for me in a stable way. Probably it's a 
> communication problem, but I'm running server and client on the same 
> machine on localhost. Client and server are sharing also the 
> OJB.properties file.
>
> OJB-0.9.5, jdk 1.3.1, server mode, ODMG interface, HSQLDB server mode.
>
> I run the same test code over and over again always an a freshly setup 
> empty database and a freshly started OJB-server and I'm getting lots 
> of different exceptions in every run - I mean different test runs 
> result in diffrent exceptions then in the previous test runs. Moreover 
> in singleVM mode everything is working fine. The exceptions are coming 
> up in C/S mode *only*.
>
> For sure the execptions are thrown when I try to update objects in a 
> n:m relation, sometimes but quite rare they also come up when storing 
> the other objects with 1:n relations.
>
> Here is my code for the creation / update of m:n objects. Semester and 
> CourseGroup have a m:n relation with no role.
>
>        cg = new CourseGroup();
>        cg.setName("Methodisch/Technologisch orientierter Schwerpunkt");
>        cg.setHours(8);
>        cg.setCollSemester(new Vector());
>        s = (Semester)tool.querySelectFirst(odmg, Semester.class, 
> "number=7");
>        cg.getCollSemester().add(s);
>        s = (Semester)tool.querySelectFirst(odmg, Semester.class, 
> "number=6");
>        cg.getCollSemester().add(s);
>        cg.setCollCourse(new Vector());
>        Transaction tx = odmg.newTransaction();
>        tx.begin();
>        db.makePersistent(cg);
>        tx.commit();
>
>        s = (Semester)tool.querySelectFirst(odmg, Semester.class, 
> "number=6");
>        cg = new CourseGroup();
>        cg.setName("Aktuelle Tendenzen der WI");
>        cg.setHours(4);
>        cg.setCollSemester(new Vector());
>        cg.getCollSemester().add(s);
>        cg.setCollCourse(new Vector());
>        Transaction tx2 = odmg.newTransaction();
>        tx2.begin();
>        db.makePersistent(cg);
>        tx2.commit();
>
> I attached three different exceptions resulting from three different 
> test runs with identical conditions. But for sure there is a 
> org.apache.ojb.broker.PersistenceBrokerException: Error while 
> communicating with OJB server
>
>------------------------------------------------------------------------
>
>[BOOT] INFO: OJB.properties: file:/C:/Documents and Settings/Olaf/My 
>Documents/Devel/projects/stundenplan/run/server/OJB.properties
>(util.DatabaseCreator                148 ) Opening database timetable...
>(util.DatabaseCreator                148 ) creating Room...
>(DEFAULT                             264 ) OJB Descriptor Repository: 
>file:/C:/Documents and Settings/Olaf/My 
>Documents/Devel/projects/stundenplan/run/server/repository.xml
>(DEFAULT                             289 ) ...Finished parsing
>(util.DatabaseCreator                148 ) creating Season...
>(util.DatabaseCreator                148 ) creating Study...
>(util.DatabaseCreator                148 ) creating Curriculum...
>(util.DatabaseCreator                148 ) creating Semester...
>(util.DatabaseCreator                148 ) creating CourseGroup...
>(odmg.TransactionImpl                253 ) Locking obj 
>og.timetable.persistent.Curriculum@5337d3 with lock mode 4 failed
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBrokerClient.java:257)
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBrokerClient.java:147)
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.close(PersistenceBrokerClient.java:793)
>       at org.apache.ojb.broker.Identity.<init>(Identity.java:206)
>       at 
>org.apache.ojb.odmg.locking.PersistentLockMapImpl.getWriter(PersistentLockMapImpl.java:134)
>       at 
>org.apache.ojb.odmg.locking.AbstractLockStrategy.getWriter(AbstractLockStrategy.java:98)
>       at 
>org.apache.ojb.odmg.locking.ReadUncommittedStrategy.writeLock(ReadUncommittedStrategy.java:100)
>       at 
>org.apache.ojb.odmg.locking.ReadUncommittedStrategy.writeLock(ReadUncommittedStrategy.java:106)
>       at 
>org.apache.ojb.odmg.locking.LockManagerDefaultImpl.writeLock(LockManagerDefaultImpl.java:119)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:234)
>       at 
>org.apache.ojb.odmg.TransactionImpl.lockCollections(TransactionImpl.java:782)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:636)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at 
>org.apache.ojb.odmg.TransactionImpl.lockCollections(TransactionImpl.java:782)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:636)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at org.apache.ojb.odmg.TransactionImpl.lockReferences(TransactionImpl.java:821)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:630)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at org.apache.ojb.odmg.TransactionImpl.lockReferences(TransactionImpl.java:821)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:630)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at 
>org.apache.ojb.odmg.TransactionImpl.lockCollections(TransactionImpl.java:782)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:636)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at og.timetable.util.OJBTool.store(OJBTool.java:153)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:168)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBrokerClient.java:257)
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBrokerClient.java:147)
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.close(PersistenceBrokerClient.java:793)
>       at org.apache.ojb.broker.Identity.<init>(Identity.java:206)
>       at 
>org.apache.ojb.odmg.locking.PersistentLockMapImpl.getWriter(PersistentLockMapImpl.java:134)
>       at 
>org.apache.ojb.odmg.locking.AbstractLockStrategy.getWriter(AbstractLockStrategy.java:98)
>       at 
>org.apache.ojb.odmg.locking.ReadUncommittedStrategy.writeLock(ReadUncommittedStrategy.java:100)
>       at 
>org.apache.ojb.odmg.locking.ReadUncommittedStrategy.writeLock(ReadUncommittedStrategy.java:106)
>       at 
>org.apache.ojb.odmg.locking.LockManagerDefaultImpl.writeLock(LockManagerDefaultImpl.java:119)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:234)
>       at 
>org.apache.ojb.odmg.TransactionImpl.lockCollections(TransactionImpl.java:782)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:636)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at 
>org.apache.ojb.odmg.TransactionImpl.lockCollections(TransactionImpl.java:782)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:636)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at org.apache.ojb.odmg.TransactionImpl.lockReferences(TransactionImpl.java:821)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:630)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at org.apache.ojb.odmg.TransactionImpl.lockReferences(TransactionImpl.java:821)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:630)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at 
>org.apache.ojb.odmg.TransactionImpl.lockCollections(TransactionImpl.java:782)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:636)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at og.timetable.util.OJBTool.store(OJBTool.java:153)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:168)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>Error while communicating with OJB server
>(DEFAULT                             199 ) 
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>(DEFAULT                             199 ) 
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>(odmg.TransactionImpl                253 ) Locking obj 
>og.timetable.persistent.Semester@7050f5 with lock mode 4 failed
>org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException: Error while 
>communicating with OJB server
>       at org.apache.ojb.broker.Identity.<init>(Identity.java:200)
>       at 
>org.apache.ojb.odmg.locking.LockManagerDefaultImpl.releaseLock(LockManagerDefaultImpl.java:140)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:252)
>       at org.apache.ojb.odmg.TransactionImpl.lockReferences(TransactionImpl.java:821)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:630)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at 
>org.apache.ojb.odmg.TransactionImpl.lockCollections(TransactionImpl.java:782)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:636)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at og.timetable.util.OJBTool.store(OJBTool.java:153)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:168)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException: Error while 
>communicating with OJB server
>       at org.apache.ojb.broker.Identity.<init>(Identity.java:200)
>       at 
>org.apache.ojb.odmg.locking.LockManagerDefaultImpl.releaseLock(LockManagerDefaultImpl.java:140)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:252)
>       at org.apache.ojb.odmg.TransactionImpl.lockReferences(TransactionImpl.java:821)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:630)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at 
>org.apache.ojb.odmg.TransactionImpl.lockCollections(TransactionImpl.java:782)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:636)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at og.timetable.util.OJBTool.store(OJBTool.java:153)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:168)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>Error while communicating with OJB server
>(odmg.TransactionImpl                253 ) Locking obj 
>og.timetable.persistent.CourseGroup@46df77 with lock mode 4 failed
>org.odmg.LockNotGrantedException: Error while communicating with OJB server
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:256)
>       at 
>org.apache.ojb.odmg.TransactionImpl.lockCollections(TransactionImpl.java:782)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:636)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at og.timetable.util.OJBTool.store(OJBTool.java:153)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:168)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>org.odmg.LockNotGrantedException: Error while communicating with OJB server
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:256)
>       at 
>org.apache.ojb.odmg.TransactionImpl.lockCollections(TransactionImpl.java:782)
>       at org.apache.ojb.odmg.TransactionImpl.register(TransactionImpl.java:636)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:248)
>       at og.timetable.util.OJBTool.store(OJBTool.java:153)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:168)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>Error while communicating with OJB server
>(util.OJBTool                        172 ) Lock not granted on object 
>og.timetable.persistent.CourseGroup@46df77
>org.odmg.LockNotGrantedException: Error while communicating with OJB server
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:256)
>       at og.timetable.util.OJBTool.store(OJBTool.java:153)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:168)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>(odmg.TransactionImpl                496 ) Abort transaction was called on tx 
>org.apache.ojb.odmg.TransactionImpl@144823, associated PB was 
>org.apache.ojb.broker.server.PersistenceBrokerClient@c02cc
>(DEFAULT                             199 ) 
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>(odmg.OJB                            150 ) 
>org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException: Error while 
>communicating with OJB server
>(util.DatabaseCreator                204 ) DatabaseCreator.setupDB() error:
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBrokerClient.java:257)
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBrokerClient.java:147)
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.abortTransaction(PersistenceBrokerClient.java:340)
>       at org.apache.ojb.odmg.TransactionImpl.abort(TransactionImpl.java:505)
>       at og.timetable.util.OJBTool.store(OJBTool.java:157)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:168)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>
>------------------------------------------------------------------------
>
>[BOOT] INFO: OJB.properties: file:/C:/Documents and Settings/Olaf/My 
>Documents/Devel/projects/stundenplan/run/server/OJB.properties
>(util.DatabaseCreator                148 ) Opening database timetable...
>(util.DatabaseCreator                148 ) creating Room...
>(DEFAULT                             264 ) OJB Descriptor Repository: 
>file:/C:/Documents and Settings/Olaf/My 
>Documents/Devel/projects/stundenplan/run/server/repository.xml
>(DEFAULT                             289 ) ...Finished parsing
>(util.DatabaseCreator                148 ) creating Season...
>(util.DatabaseCreator                148 ) creating Study...
>(util.DatabaseCreator                148 ) creating Curriculum...
>(util.DatabaseCreator                148 ) creating Semester...
>(util.DatabaseCreator                148 ) creating CourseGroup...
>(DEFAULT                             199 ) 
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>(util.DatabaseCreator                204 ) DatabaseCreator.setupDB() error:
>org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException: Error while 
>communicating with OJB server
>       at org.apache.ojb.broker.Identity.<init>(Identity.java:200)
>       at 
>org.apache.ojb.odmg.locking.LockManagerDefaultImpl.releaseLock(LockManagerDefaultImpl.java:140)
>       at org.apache.ojb.odmg.TransactionImpl.removeLock(TransactionImpl.java:439)
>       at org.apache.ojb.odmg.TransactionImpl.doClose(TransactionImpl.java:339)
>       at org.apache.ojb.odmg.TransactionImpl.commit(TransactionImpl.java:472)
>       at og.timetable.util.OJBTool.querySelectFirst(OJBTool.java:111)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:165)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>
>
>178 instances
>
>------------------------------------------------------------------------
>
>[BOOT] INFO: OJB.properties: file:/C:/Documents and Settings/Olaf/My 
>Documents/Devel/projects/stundenplan/run/server/OJB.properties
>(util.DatabaseCreator                148 ) Opening database timetable...
>(util.DatabaseCreator                148 ) creating Room...
>(DEFAULT                             264 ) OJB Descriptor Repository: 
>file:/C:/Documents and Settings/Olaf/My 
>Documents/Devel/projects/stundenplan/run/server/repository.xml
>(DEFAULT                             289 ) ...Finished parsing
>(util.DatabaseCreator                148 ) creating Season...
>(util.DatabaseCreator                148 ) creating Study...
>(util.DatabaseCreator                148 ) creating Curriculum...
>(util.DatabaseCreator                148 ) creating Semester...
>(util.DatabaseCreator                148 ) creating CourseGroup...
>(DEFAULT                             199 ) 
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>(DEFAULT                             199 ) 
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>(DEFAULT                             199 ) 
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>(util.OJBTool                        172 ) Transaction aborted on object 
>og.timetable.persistent.CourseGroup@68afdd
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBrokerClient.java:257)
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBrokerClient.java:147)
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.close(PersistenceBrokerClient.java:793)
>       at org.apache.ojb.broker.Identity.<init>(Identity.java:206)
>       at 
>org.apache.ojb.odmg.locking.LockManagerDefaultImpl.releaseLock(LockManagerDefaultImpl.java:140)
>       at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:252)
>       at og.timetable.util.OJBTool.store(OJBTool.java:153)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:168)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>(util.DatabaseCreator                204 ) DatabaseCreator.setupDB() error:
>org.apache.ojb.broker.PersistenceBrokerException: Error while communicating with OJB 
>server
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBrokerClient.java:257)
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBrokerClient.java:147)
>       at 
>org.apache.ojb.broker.server.PersistenceBrokerClient.beginTransaction(PersistenceBrokerClient.java:359)
>       at org.apache.ojb.odmg.TransactionImpl.begin(TransactionImpl.java:535)
>       at og.timetable.util.OJBTool.querySelectFirst(OJBTool.java:87)
>       at 
>og.timetable.util.DatabaseCreator.createCourseGroup(DatabaseCreator.java:170)
>       at og.timetable.util.DatabaseCreator.setupDB(DatabaseCreator.java:131)
>       at og.timetable.util.TimetableTool.main(TimetableTool.java:46)
>
>
>216 instances
>  
>
>------------------------------------------------------------------------
>
>--
>To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>Some
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to