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]>