@Override public void release () throws JIException { checkLocal (); final JICallBuilder obj = new JICallBuilder ( true ); obj.setParentIpid ( this.ptr.getIPID () ); obj.setOpnum ( 2 );//release //length obj.addInParamAsShort ( (short)1, JIFlags.FLAG_NULL ); //ipid to addfref on final JIArray array = new JIArray ( new rpc.core.UUID[] { new rpc.core.UUID ( this.ptr.getIPID () ) }, true ); obj.addInParamAsArray ( array, JIFlags.FLAG_NULL ); //TODO requesting 5 for now, will later build caching mechnaism to exhaust 5 refs first before asking for more // same with release. obj.addInParamAsInt ( 5, JIFlags.FLAG_NULL ); obj.addInParamAsInt ( 0, JIFlags.FLAG_NULL );//private refs = 0 if ( logger.isInfoEnabled () ) { logger.info ( "RELEASE called directly ! removing 5 references for " + this.ptr.getIPID () + " session: " + this.session.getSessionIdentifier () ); JISession.debug_delIpids ( this.ptr.getIPID (), 5 ); } this.session.getStub2 ().addRef_ReleaseRef ( obj ); }
public void release() throws JIException { checkLocal(); JICallBuilder obj = new JICallBuilder(true); obj.setParentIpid(ptr.getIPID()); obj.setOpnum(2);//release //length obj.addInParamAsShort((short)1,JIFlags.FLAG_NULL); //ipid to addfref on JIArray array = new JIArray(new rpc.core.UUID[]{new rpc.core.UUID(ptr.getIPID())},true); obj.addInParamAsArray(array,JIFlags.FLAG_NULL); //TODO requesting 5 for now, will later build caching mechnaism to exhaust 5 refs first before asking for more // same with release. obj.addInParamAsInt(5,JIFlags.FLAG_NULL); obj.addInParamAsInt(0,JIFlags.FLAG_NULL);//private refs = 0 if (JISystem.getLogger().isLoggable(Level.INFO)) { JISystem.getLogger().warning("RELEASE called directly ! removing 5 references for " + ptr.getIPID()+ " session: " + session.getSessionIdentifier()); JISession.debug_delIpids(ptr.getIPID(), 5); } session.getStub2().addRef_ReleaseRef(obj); }
@Override public void addRef () throws JIException { checkLocal (); final JICallBuilder obj = new JICallBuilder ( true ); obj.setParentIpid ( this.ptr.getIPID () ); obj.setOpnum ( 1 );//addRef //length obj.addInParamAsShort ( (short)1, JIFlags.FLAG_NULL ); //ipid to addfref on final JIArray array = new JIArray ( new rpc.core.UUID[] { new rpc.core.UUID ( this.ptr.getIPID () ) }, true ); obj.addInParamAsArray ( array, JIFlags.FLAG_NULL ); //TODO requesting 5 for now, will later build caching mechnaism to exhaust 5 refs first before asking for more // same with release. obj.addInParamAsInt ( 5, JIFlags.FLAG_NULL ); obj.addInParamAsInt ( 0, JIFlags.FLAG_NULL );//private refs = 0 obj.addOutParamAsType ( Short.class, JIFlags.FLAG_NULL );//size obj.addOutParamAsType ( Integer.class, JIFlags.FLAG_NULL );//Hresult for size if ( logger.isInfoEnabled () ) { logger.info ( "addRef: Adding 5 references for " + this.ptr.getIPID () + " session: " + this.session.getSessionIdentifier () ); } JISession.debug_addIpids ( this.ptr.getIPID (), 5 ); this.session.getStub2 ().addRef_ReleaseRef ( obj ); if ( obj.getResultAsIntAt ( 1 ) != 0 ) { throw new JIException ( obj.getResultAsIntAt ( 1 ), (Throwable)null ); } }
session.getStub2().addRef_ReleaseRef(obj);