hammant     02/03/30 00:32:10

  Modified:    altrmi/src/java/org/apache/commons/altrmi/client/impl
                        AbstractAltrmiFactory.java BaseServedObject.java
               altrmi/src/java/org/apache/commons/altrmi/server/impl/adapters
                        InvocationHandlerAdapter.java
  Log:
  Facade being DGCd now posts GC request to server
  
  Revision  Changes    Path
  1.18      +8 -3      
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/AbstractAltrmiFactory.java
  
  Index: AbstractAltrmiFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/AbstractAltrmiFactory.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- AbstractAltrmiFactory.java        30 Mar 2002 07:49:13 -0000      1.17
  +++ AbstractAltrmiFactory.java        30 Mar 2002 08:32:10 -0000      1.18
  @@ -34,7 +34,7 @@
    *
    *
    * @author Paul Hammant <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>
  - * @version $Revision: 1.17 $
  + * @version $Revision: 1.18 $
    */
   public abstract class AbstractAltrmiFactory implements AltrmiFactory {
   
  @@ -115,7 +115,9 @@
        *
        */
       public final void registerReferenceObject(Object obj, Long referenceID) {
  -        mRefObjs.put(referenceID, new WeakReference(obj));
  +        synchronized(this) {
  +            mRefObjs.put(referenceID, new WeakReference(obj));
  +        }
           //Object o = mRefObjs.get(referenceID);
       }
   
  @@ -142,7 +144,10 @@
        *
        */
       public final Object getImplObj(Long referenceID) {
  -        WeakReference wr = (WeakReference) mRefObjs.get(referenceID);
  +        WeakReference wr = null;
  +        synchronized(this) {
  +             wr = (WeakReference) mRefObjs.get(referenceID);
  +        }
           if (wr == null) {
               return null;
           }
  
  
  
  1.16      +7 -2      
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/BaseServedObject.java
  
  Index: BaseServedObject.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/BaseServedObject.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- BaseServedObject.java     30 Mar 2002 07:49:13 -0000      1.15
  +++ BaseServedObject.java     30 Mar 2002 08:32:10 -0000      1.16
  @@ -21,6 +21,8 @@
   import org.apache.commons.altrmi.common.MethodFacadeRequest;
   import org.apache.commons.altrmi.common.FacadeRefHolder;
   import org.apache.commons.altrmi.common.MethodFacadeArrayReply;
  +import org.apache.commons.altrmi.common.GarbageCollectionRequest;
  +import org.apache.commons.altrmi.common.GarbageCollectionReply;
   import org.apache.commons.altrmi.client.AltrmiProxy;
   
   import java.lang.reflect.Array;
  @@ -32,7 +34,7 @@
    *
    * @author Paul Hammant <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>
    * @author Vinay Chandrasekharan <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>
  - * @version $Revision: 1.15 $
  + * @version $Revision: 1.16 $
    */
   public final class BaseServedObject {
   
  @@ -347,7 +349,10 @@
       }
   
       protected void finalize() throws Throwable {
  -        //System.out.println("BO finalizing");
  +        synchronized(mAltrmiFactory) {
  +            GarbageCollectionReply gcr = (GarbageCollectionReply) 
mInvocationHandler.handleInvocation(new GarbageCollectionRequest(mReferenceID));
  +            //System.out.println("BO finalizing");
  +        }
           super.finalize();
       }
   }
  
  
  
  1.5       +5 -2      
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/adapters/InvocationHandlerAdapter.java
  
  Index: InvocationHandlerAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/adapters/InvocationHandlerAdapter.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- InvocationHandlerAdapter.java     6 Mar 2002 19:34:46 -0000       1.4
  +++ InvocationHandlerAdapter.java     30 Mar 2002 08:32:10 -0000      1.5
  @@ -32,6 +32,7 @@
   import org.apache.commons.altrmi.common.PingReply;
   import org.apache.commons.altrmi.common.ListReply;
   import org.apache.commons.altrmi.common.MethodFacadeArrayReply;
  +import org.apache.commons.altrmi.common.GarbageCollectionReply;
   import org.apache.commons.altrmi.server.AltrmiServer;
   import org.apache.commons.altrmi.server.MethodInvocationHandler;
   import org.apache.commons.altrmi.server.ClassRetrievalException;
  @@ -51,7 +52,7 @@
    *
    *
    * @author Paul Hammant <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
    */
   public class InvocationHandlerAdapter extends PublicationAdapter
           implements AltrmiInvocationHandler {
  @@ -100,7 +101,7 @@
               return new SuspendedReply();
           }
   
  -        // Method request is positionid first as
  +        // Method request is positioned first as
           // it is the one we want to be most speedy.
           if (request.getRequestCode() == AltrmiRequest.METHODREQUEST) {
               MethodRequest mReq = (MethodRequest) request;
  @@ -193,6 +194,8 @@
                   }
                   return new MethodFacadeArrayReply(refs);
               }
  +        } else if (request.getRequestCode() == AltrmiRequest.GCREQUEST) {
  +            return new GarbageCollectionReply();
           } else if (request.getRequestCode() == AltrmiRequest.LOOKUPREQUEST) {
               LookupRequest lr = (LookupRequest) request;
   
  
  
  

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

Reply via email to