Forcing garbage collection of an ORB in JVM

I create a static orb like this:

lotus.priv.CORBA.iiop.ORB orb = (lotus.priv.CORBA.iiop.ORB)NotesFactory.createORB();

And then add connections to a connection pool like this:

Session session = NotesFactory.createSession( server, orb, user, password );

Everything is fine, until I try to redeploy this connection pooling mechanism in a J2EE app.

It then becomes apparent that the orb was never completely removed from the JVM.

I do, however, exec an orb.release() when undeploying. This apparently is not sufficient though, since I keep getting this when the connection pool attempts to create an new ORB:

org.omg.CORBA.INITIALIZE: can’t instantiate default ORB implementation lotus.priv.CORBA.iiop.ORB minor code: 0 completed: No

    at org.omg.CORBA.ORB.create_impl(ORB.java:281)

    at org.omg.CORBA.ORB.init(ORB.java:323)

    at lotus.domino.cso.Session.createORB(Unknown Source)

    at lotus.domino.NotesFactory.createORB(Unknown Source)

    at lotus.domino.NotesFactory.createORB(Unknown Source)

    at com.pwc.us.mw.integrations.domino.DatabaseConnection.run(Unknown Source)

Thanks.

Steve Maring