Hi,

I am looking for help debugging a nasty problem with a JBoss app I am building, using OJB as the persistence mechanism. I have a very simple set up, with only a single object, and the following session bean:

public class ProductAdmin extends SessionBean {

        private Implementation odmg = null;
        private Database db = null;

        public void ejbCreate() {
                odmg = OJB.getInstance();

                db = odmg.newDatabase();
                try {
                        db.open("default", Database.OPEN_READ_WRITE);
                } catch (ODMGException e) {
                        e.printStackTrace();
                }
        }

        public void ejbRemove() throws EJBException, RemoteException {
                try {
                        if (db != null) db.close();
                } catch (ODMGException e) {
                        throw new EJBException(e);
                }
                odmg = null;
        }

        public Integer create() throws Exception {
                Product p = new Product();
                Transaction tx = odmg.newTransaction();
                tx.begin();
        
                try {
                        tx.lock(p, Transaction.WRITE);
                        tx.commit();
                } catch (Exception e) {
                        tx.abort();
                        throw (e);
                }

                return p.getId();
        }

}


If I then run the create method a few thousand times, it becomes
apparent that there are thousands of org.apache.ojb.odmg.locking.ObjectLocks and
org.apache.ojb.odmg.locking.LockEntry objects that cannot be garbage
collected. The net result is that after ~90,000 objects are written to
the database, there is no memory left for the JVM!


The system is supposed to be supporting a userbase of over 200,000, so
this many writes is quite feasible in a short space of time.

Is there anything I'm doing wrong with the transactions? I have followed the tutorials as closely as I can and have reached the stage where I wouldn't be able to see the woods if there were one, due to these trees everywhere.

Thanks!

--
Craig Andrews <[EMAIL PROTECTED]>

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



Reply via email to