diff options
author | slewis | 2016-02-18 20:16:02 +0000 |
---|---|---|
committer | slewis | 2016-02-18 20:16:02 +0000 |
commit | b99b3743f66e96c2b2b27376db77c2ad52368c34 (patch) | |
tree | ec00190774b72912adbe8b7d76a3b4325434b90e | |
parent | 064db6258511d4665a43381ba4fbbbad414997de (diff) | |
download | org.eclipse.ecf-b99b3743f66e96c2b2b27376db77c2ad52368c34.tar.gz org.eclipse.ecf-b99b3743f66e96c2b2b27376db77c2ad52368c34.tar.xz org.eclipse.ecf-b99b3743f66e96c2b2b27376db77c2ad52368c34.zip |
Fix for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=488045
Change-Id: I9ee1fb2e209bf78cba83bc413da270b06fa07065
9 files changed, 31 insertions, 83 deletions
diff --git a/framework/bundles/org.eclipse.ecf.provider/META-INF/MANIFEST.MF b/framework/bundles/org.eclipse.ecf.provider/META-INF/MANIFEST.MF index 1fa9519f5..4b821d09d 100644 --- a/framework/bundles/org.eclipse.ecf.provider/META-INF/MANIFEST.MF +++ b/framework/bundles/org.eclipse.ecf.provider/META-INF/MANIFEST.MF @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-SymbolicName: org.eclipse.ecf.provider;singleton:=true -Bundle-Version: 4.7.300.qualifier +Bundle-Version: 4.7.400.qualifier Bundle-Name: %plugin.name Bundle-Vendor: %plugin.provider Bundle-Activator: org.eclipse.ecf.internal.provider.ProviderPlugin diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java index 0b19a6e4f..f2a5f483e 100644 --- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java +++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java @@ -32,6 +32,7 @@ public class ProviderPlugin implements BundleActivator { public static final String PLUGIN_ID = "org.eclipse.ecf.provider"; //$NON-NLS-1$ + private static final boolean genericClassResolverOverride = Boolean.valueOf(System.getProperty("org.eclipse.ecf.provider.classResolverOverride", "false")); //$NON-NLS-1$ //$NON-NLS-2$ //The shared instance. private static ProviderPlugin plugin; @@ -78,13 +79,15 @@ public class ProviderPlugin implements BundleActivator { context1.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(SSLGenericContainerInstantiator.SSLCLIENT_NAME, new SSLGenericContainerInstantiator(), "ECF SSL Generic Client", false, true), null); //$NON-NLS-1$ } }); - Hashtable<String, Object> props = new Hashtable<String, Object>(); - props.put(IClassResolver.BUNDLE_PROP_NAME, PLUGIN_ID); - this.context.registerService(IClassResolver.class, new BundleClassResolver(context.getBundle()), props); + if (genericClassResolverOverride) { + Hashtable<String, Object> props = new Hashtable<String, Object>(); + props.put(IClassResolver.BUNDLE_PROP_NAME, PLUGIN_ID); + this.context.registerService(IClassResolver.class, new BundleClassResolver(context.getBundle()), props); + } } public ObjectInputStream createObjectInputStream(InputStream ins) throws IOException { - return ClassResolverObjectInputStream.create(this.context, ins); + return (genericClassResolverOverride) ? ClassResolverObjectInputStream.create(this.context, ins) : new ObjectInputStream(ins); } /** diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/tcp/Client.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/tcp/Client.java index 76cc55992..cec28cd0f 100644 --- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/tcp/Client.java +++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/tcp/Client.java @@ -51,7 +51,6 @@ public final class Client implements ISynchAsynchConnection { protected boolean waitForPing = false; protected PingMessage ping = new PingMessage(); protected PingResponseMessage pingResp = new PingResponseMessage(); - protected int maxMsg = DEFAULT_MAX_BUFFER_MSG; protected long closeTimeout = DEFAULT_CLOSE_TIMEOUT; protected Map properties; protected ID containerID = null; @@ -105,7 +104,6 @@ public final class Client implements ISynchAsynchConnection { outputStream = oStream; this.handler = handler; containerID = handler.getEventHandlerID(); - maxMsg = maxmsgs; properties = new Properties(); setupThreads(); } @@ -245,7 +243,6 @@ public final class Client implements ISynchAsynchConnection { Thread getSendThread() { final Thread aThread = new Thread(new Runnable() { public void run() { - int msgCount = 0; Thread me = Thread.currentThread(); // Loop until done sending messages (thread explicitly // interrupted or queue.peekQueue() returns null @@ -262,14 +259,6 @@ public final class Client implements ISynchAsynchConnection { send(aMsg); // Successful...remove message from queue queue.removeHead(); - if (msgCount >= maxMsg) { - // need to synchronize to avoid concurrent access to outputStream - synchronized (outputStreamLock) { - outputStream.reset(); - } - msgCount = 0; - } else - msgCount++; } catch (Exception e) { handleException(e); break; @@ -311,8 +300,6 @@ public final class Client implements ISynchAsynchConnection { } void send(Serializable snd) throws IOException { - // debug("send(" + snd + ")"); //$NON-NLS-1$ //$NON-NLS-2$ - // need to synchronize to avoid concurrent access to outputStream synchronized (outputStreamLock) { outputStream.writeObject(snd); outputStream.flush(); diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/tcp/SSLClient.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/tcp/SSLClient.java index 94710ce3d..f5262da01 100644 --- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/tcp/SSLClient.java +++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/tcp/SSLClient.java @@ -55,7 +55,6 @@ public final class SSLClient implements ISynchAsynchConnection { protected boolean waitForPing = false; protected PingMessage ping = new PingMessage(); protected PingResponseMessage pingResp = new PingResponseMessage(); - protected int maxMsg = DEFAULT_MAX_BUFFER_MSG; protected long closeTimeout = DEFAULT_CLOSE_TIMEOUT; protected Map properties; protected ID containerID = null; @@ -108,7 +107,6 @@ public final class SSLClient implements ISynchAsynchConnection { outputStream = oStream; this.handler = handler; containerID = handler.getEventHandlerID(); - maxMsg = maxmsgs; properties = new Properties(); setupThreads(); } @@ -231,7 +229,6 @@ public final class SSLClient implements ISynchAsynchConnection { Thread getSendThread() { final Thread aThread = new Thread(new Runnable() { public void run() { - int msgCount = 0; Thread me = Thread.currentThread(); // Loop until done sending messages (thread explicitly // interrupted or queue.peekQueue() returns null @@ -248,14 +245,6 @@ public final class SSLClient implements ISynchAsynchConnection { send(aMsg); // Successful...remove message from queue queue.removeHead(); - if (msgCount >= maxMsg) { - // need to synchronize to avoid concurrent access to outputStream - synchronized (outputStreamLock) { - outputStream.reset(); - } - msgCount = 0; - } else - msgCount++; } catch (Exception e) { handleException(e); break; diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java index 206c7ccfe..311125db2 100644 --- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java +++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java @@ -700,7 +700,6 @@ public abstract class SOContainer extends AbstractContainer implements ISharedOb final ID sharedObjectID = resp.getFromSharedObjectID(); SOWrapper sow = null; Serializable obj = null; - debug("handleSharedObjectMessage(from=" + fromID + ",to=" + toID + ",sharedObject=" + sharedObjectID + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ synchronized (getGroupMembershipLock()) { // We only deliver to local copy if the toID equals null (all), or it equals ours if (verifySharedObjectMessageTarget(toID)) { diff --git a/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/util/BundleClassResolver.java b/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/util/BundleClassResolver.java index 01db8696c..017e42a4e 100644 --- a/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/util/BundleClassResolver.java +++ b/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/util/BundleClassResolver.java @@ -10,8 +10,6 @@ package org.eclipse.ecf.core.util; import java.io.ObjectStreamClass; import org.eclipse.core.runtime.Assert; -import org.eclipse.ecf.internal.core.ECFDebugOptions; -import org.eclipse.ecf.internal.core.ECFPlugin; import org.osgi.framework.Bundle; /** @@ -28,13 +26,11 @@ public class BundleClassResolver implements IClassResolver { @SuppressWarnings("unused") protected void verifyClass(ObjectStreamClass desc) throws ClassNotFoundException { - // do nothing + // do nothing by default } public Class<?> resolveClass(ObjectStreamClass desc) throws ClassNotFoundException { - Trace.trace(ECFPlugin.PLUGIN_ID, ECFDebugOptions.BUNDLECLASSRESOLVER, this.getClass(), "resolveClass", "bundle=" + this.bundle + ",class=" + desc); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - verifyClass(desc); try { diff --git a/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/util/ClassResolverObjectInputStream.java b/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/util/ClassResolverObjectInputStream.java index 3445a3398..00d35d6be 100644 --- a/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/util/ClassResolverObjectInputStream.java +++ b/framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/util/ClassResolverObjectInputStream.java @@ -48,8 +48,6 @@ public class ClassResolverObjectInputStream extends ObjectInputStream { private final BundleContext bundleContext; private ServiceTracker<IClassResolver, IClassResolver> classResolverST; - private final Object trackerLock = new Object(); - private final Filter classResolverFilter; private Filter createClassResolverFilter(String classResolverFilterString) throws InvalidSyntaxException { String objectClassFilterString = "(" + Constants.OBJECTCLASS + "=" + IClassResolver.class.getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ @@ -61,7 +59,7 @@ public class ClassResolverObjectInputStream extends ObjectInputStream { protected ClassResolverObjectInputStream(BundleContext ctxt, String classResolverFilter) throws IOException, SecurityException, InvalidSyntaxException { super(); this.bundleContext = ctxt; - this.classResolverFilter = createClassResolverFilter(classResolverFilter); + this.classResolverST = new ServiceTracker<IClassResolver, IClassResolver>(this.bundleContext, createClassResolverFilter(classResolverFilter), null); } protected ClassResolverObjectInputStream(BundleContext ctxt) throws IOException, SecurityException, InvalidSyntaxException { @@ -71,7 +69,7 @@ public class ClassResolverObjectInputStream extends ObjectInputStream { public ClassResolverObjectInputStream(BundleContext ctxt, InputStream ins, String classResolverFilter) throws IOException, SecurityException, InvalidSyntaxException { super(ins); this.bundleContext = ctxt; - this.classResolverFilter = createClassResolverFilter(classResolverFilter); + this.classResolverST = new ServiceTracker<IClassResolver, IClassResolver>(this.bundleContext, createClassResolverFilter(classResolverFilter), null); } public ClassResolverObjectInputStream(BundleContext ctxt, InputStream ins) throws IOException, SecurityException, InvalidSyntaxException { @@ -82,19 +80,27 @@ public class ClassResolverObjectInputStream extends ObjectInputStream { return this.bundleContext; } + private IClassResolver getClassResolver() { + IClassResolver result = null; + if (this.classResolverST != null) { + this.classResolverST.open(); + result = this.classResolverST.getService(); + this.classResolverST.close(); + } + return result; + } + @SuppressWarnings("unused") @Override protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException { - synchronized (trackerLock) { - if (classResolverST == null) { - classResolverST = new ServiceTracker<IClassResolver, IClassResolver>(this.bundleContext, classResolverFilter, null); - classResolverST.open(); - } + IClassResolver classResolver = null; + if (this.classResolverST != null) { + this.classResolverST.open(); + classResolver = this.classResolverST.getService(); + this.classResolverST.close(); } - IClassResolver classResolver = this.classResolverST.getService(); - if (classResolver != null) { + if (classResolver != null) return classResolver.resolveClass(desc); - } throw new ClassNotFoundException("Cannot deserialize class=" + desc + " because no IClassResolver service available"); //$NON-NLS-1$ //$NON-NLS-2$ } @@ -107,15 +113,4 @@ public class ClassResolverObjectInputStream extends ObjectInputStream { throw new ClassNotFoundException("Could not find class=" + desc); //$NON-NLS-1$ } - @Override - public void close() throws IOException { - super.close(); - synchronized (trackerLock) { - if (classResolverST != null) { - classResolverST.close(); - classResolverST = null; - } - } - } - } diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF index 9865f4c73..6edc59864 100644 --- a/providers/bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF +++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.ecf.provider.remoteservice;singleton:=true -Bundle-Version: 4.2.0.qualifier +Bundle-Version: 4.2.100.qualifier Bundle-Activator: org.eclipse.ecf.internal.provider.remoteservice.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java index b1e3d9249..767c58e23 100644 --- a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java +++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java @@ -898,14 +898,12 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer } protected Object callSynch(RemoteServiceRegistrationImpl registration, IRemoteCall call) throws ECFException { - Trace.entering(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_ENTERING, this.getClass(), "callSynch", new Object[] {registration, call}); //$NON-NLS-1$ boolean doneWaiting = false; Response response = null; try { // First send request final Request request = sendCallRequest(registration, call); long requestId = request.getRequestId(); - Trace.trace(Activator.PLUGIN_ID, "callSync request sent with requestid=" + requestId); //$NON-NLS-1$ // Then get the specified timeout and calculate when we should // timeout in real time final long timeout = call.getTimeout() + System.currentTimeMillis(); @@ -913,13 +911,11 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer while ((timeout - System.currentTimeMillis()) > 0 && !doneWaiting) { synchronized (request) { if (request.isDone()) { - Trace.trace(Activator.PLUGIN_ID, "callSynch.request/response done for requestId=" + requestId); //$NON-NLS-1$ doneWaiting = true; response = request.getResponse(); if (response == null) throw new ECFException("Invalid response for requestId=" + requestId); //$NON-NLS-1$ } else { - Trace.trace(Activator.PLUGIN_ID, "Waiting " + RESPONSE_WAIT_INTERVAL + " for response to request: " + requestId); //$NON-NLS-1$ //$NON-NLS-2$ request.wait(RESPONSE_WAIT_INTERVAL); } } @@ -934,14 +930,10 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer throw new ECFException("Wait for response interrupted", e); //$NON-NLS-1$ } // Success...now get values and return - Object result = null; if (response.hadException()) throw new ECFException("Exception in remote call", response.getException()); //$NON-NLS-1$ - result = response.getResponse(); - - Trace.exiting(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_EXITING, this.getClass(), "callSynch", result); //$NON-NLS-1$ - return result; + return response.getResponse(); } protected void fireCallStartEvent(IRemoteCallListener listener, final long requestId, final IRemoteServiceReference reference, final IRemoteCall call) { @@ -1075,7 +1067,7 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer private static final int REQUEST_NOT_FOUND_ERROR_CODE = 211; - private static final long RESPONSE_WAIT_INTERVAL = 5000; + private static final long RESPONSE_WAIT_INTERVAL = 500; private static final String ADD_REGISTRATION = "handleAddRegistration"; //$NON-NLS-1$ @@ -1362,7 +1354,6 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer } protected Request sendCallRequest(RemoteServiceRegistrationImpl remoteRegistration, final IRemoteCall call) throws IOException { - Trace.entering(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_ENTERING, this.getClass(), "sendCallRequest", new Object[] {remoteRegistration, call}); //$NON-NLS-1$ final Request request = createRequest(remoteRegistration, call, null); addRequest(request); try { @@ -1371,7 +1362,6 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer removeRequest(request); throw e; } - Trace.exiting(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_EXITING, this.getClass(), "sendCallRequest", request); //$NON-NLS-1$ return request; } @@ -1423,6 +1413,7 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer callPolicy.checkRemoteCall(responseTarget, localRegistration, call); result = localRegistration.callService(call); + response = new Response(request.getRequestId(), result); // Invocation target exception happens if the local method being invoked throws (cause) } catch (InvocationTargetException e) { @@ -1453,7 +1444,6 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer } protected void handleCallRequest(Request request) { - Trace.entering(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_ENTERING, this.getClass(), "handleCallRequest", request); //$NON-NLS-1$ // If request is null, it's bogus, give up/do not respond if (request == null) { log("handleCallRequest", new NullPointerException("Request cannot be null")); //$NON-NLS-1$//$NON-NLS-2$ @@ -1483,7 +1473,6 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer // Else we've got a local service and we execute it using executor executeRequest(executor, request, responseTarget, localRegistration, true); - Trace.exiting(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_EXITING, this.getClass(), "handleCallRequest"); //$NON-NLS-1$ } /** @@ -1500,7 +1489,6 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer } protected void sendCallRequestWithListener(RemoteServiceRegistrationImpl remoteRegistration, IRemoteCall call, IRemoteCallListener listener) { - Trace.entering(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_ENTERING, this.getClass(), "sendCallRequestWithListener", new Object[] {remoteRegistration, call, listener}); //$NON-NLS-1$ final Request request = createRequest(remoteRegistration, call, listener); fireCallStartEvent(listener, request.getRequestId(), remoteRegistration.getReference(), call); try { @@ -1511,7 +1499,6 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer removeRequest(request); fireCallCompleteEvent(listener, request.getRequestId(), null, true, e); } - Trace.exiting(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_EXITING, this.getClass(), "sendCallRequestWithListener"); //$NON-NLS-1$ } protected void log(int code, String method, Throwable e) { @@ -1519,7 +1506,6 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer } protected void sendCallResponse(ID responseTarget, Response response) { - Trace.entering(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_ENTERING, this.getClass(), "sendCallResponse", new Object[] {responseTarget, response}); //$NON-NLS-1$ try { sendSharedObjectMsgTo(responseTarget, SharedObjectMsg.createMsg(CALL_RESPONSE, response)); } catch (final IOException e) { @@ -1535,11 +1521,9 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer e1.printStackTrace(System.err); } } - Trace.exiting(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_EXITING, this.getClass(), "sendCallResponse"); //$NON-NLS-1$ } protected void handleCallResponse(Response response) { - Trace.entering(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_ENTERING, this.getClass(), CALL_RESPONSE, new Object[] {response}); final Request request = getRequest(response.getRequestId()); if (request == null) { log(REQUEST_NOT_FOUND_ERROR_CODE, REQUEST_NOT_FOUND_ERROR_MESSAGE, new NullPointerException()); @@ -1556,7 +1540,6 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer request.setDone(true); request.notify(); } - Trace.exiting(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_EXITING, this.getClass(), CALL_RESPONSE); } protected Request sendFireRequest(RemoteServiceRegistrationImpl remoteRegistration, IRemoteCall call) throws ECFException { @@ -1573,8 +1556,6 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer } protected void handleFireRequest(Request request) { - Trace.entering(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_ENTERING, this.getClass(), FIRE_REQUEST, new Object[] {request}); - // If request is null, it's bogus, give up/do not respond if (request == null) { log("handleFireRequest", new NullPointerException("Request cannot be null")); //$NON-NLS-1$//$NON-NLS-2$ @@ -1603,8 +1584,6 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer // Else we've got a local service and we execute it using executor executeRequest(executor, request, responseTarget, localRegistration, false); - - Trace.exiting(Activator.PLUGIN_ID, IRemoteServiceProviderDebugOptions.METHODS_EXITING, this.getClass(), FIRE_REQUEST); } // RemoteServiceRegistrationImpl -> List<ID> |