Author: david.lloyd(a)jboss.com
Date: 2008-02-18 21:42:17 -0500 (Mon, 18 Feb 2008)
New Revision: 3456
Added:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractInterceptor.java
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/Interceptor.java
Removed:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ContextService.java
Modified:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/Context.java
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/service/SecurityService.java
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/service/TxnService.java
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractClientInterceptor.java
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractServerInterceptor.java
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ClientInterceptor.java
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/InterceptorContext.java
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ServerInterceptor.java
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/wrapper/ContextWrapper.java
remoting3/trunk/core/src/main/java/org/jboss/cx/remoting/core/CoreOutboundContext.java
Log:
Improve the interceptor API
Modified: remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/Context.java
===================================================================
--- remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/Context.java 2008-02-19
02:40:46 UTC (rev 3455)
+++ remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/Context.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -1,7 +1,6 @@
package org.jboss.cx.remoting;
import java.util.concurrent.ConcurrentMap;
-import org.jboss.cx.remoting.spi.ContextService;
/**
* A communications context. The context may be associated with a
security/authentication state and a transactional
@@ -60,7 +59,7 @@
* @return an instance of the given interface
* @throws RemotingException if the service is not valid or is not available
*/
- <T extends ContextService> T getService(Class<T> serviceType) throws
RemotingException;
+ <T> T getService(Class<T> serviceType) throws RemotingException;
/**
* Determine whether this context supports a service with the given client
interface.
@@ -68,5 +67,5 @@
* @param serviceType the service interface type
* @return {@code true} if the given service type is supported
*/
- <T extends ContextService> boolean hasService(Class<T> serviceType);
+ <T> boolean hasService(Class<T> serviceType);
}
Modified:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/service/SecurityService.java
===================================================================
---
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/service/SecurityService.java 2008-02-19
02:40:46 UTC (rev 3455)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/service/SecurityService.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -1,14 +1,13 @@
package org.jboss.cx.remoting.service;
import org.jboss.cx.remoting.RemotingException;
-import org.jboss.cx.remoting.spi.ContextService;
import javax.security.auth.callback.CallbackHandler;
/**
*
*/
-public interface SecurityService extends ContextService {
+public interface SecurityService {
/**
* @param userName
Modified: remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/service/TxnService.java
===================================================================
---
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/service/TxnService.java 2008-02-19
02:40:46 UTC (rev 3455)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/service/TxnService.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -1,14 +1,13 @@
package org.jboss.cx.remoting.service;
import org.jboss.cx.remoting.RemotingException;
-import org.jboss.cx.remoting.spi.ContextService;
import javax.transaction.xa.XAResource;
/**
*
*/
-public interface TxnService extends ContextService {
+public interface TxnService {
/**
* Begin a transaction on the remote side.
*
Modified:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractClientInterceptor.java
===================================================================
---
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractClientInterceptor.java 2008-02-19
02:40:46 UTC (rev 3455)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractClientInterceptor.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -1,68 +1,14 @@
package org.jboss.cx.remoting.spi;
-import org.jboss.cx.remoting.Context;
-import org.jboss.cx.remoting.RemoteExecutionException;
-import org.jboss.cx.remoting.spi.protocol.RequestIdentifier;
-
/**
* A simple base implementation of {@code ContextServiceInterceptor}. Use this class as
a base for simple
* implementations of that interface.
*/
-public abstract class AbstractClientInterceptor implements ClientInterceptor {
- protected final Context<?, ?> context;
- protected ClientInterceptor next, prev;
-
- protected AbstractClientInterceptor(final Context<?, ?> context) {
- this.context = context;
+public abstract class AbstractClientInterceptor<T> extends AbstractInterceptor
implements ClientInterceptor<T> {
+ protected AbstractClientInterceptor() {
}
- public final void setNext(final ClientInterceptor next) {
- this.next = next;
- }
-
- public final void setPrevious(final ClientInterceptor prev) {
- this.prev = prev;
- }
-
- public void processOutboundRequest(final InterceptorContext context, final
RequestIdentifier requestIdentifier, final Object request) {
- next.processOutboundRequest(context, requestIdentifier, request);
- }
-
- public void processInboundReply(final InterceptorContext context, final
RequestIdentifier requestIdentifier, final Object reply) {
- prev.processInboundReply(context, requestIdentifier, reply);
- }
-
- public void processInboundException(final InterceptorContext context, final
RequestIdentifier requestIdentifier, final RemoteExecutionException exception) {
- prev.processInboundException(context, requestIdentifier, exception);
- }
-
- public <T extends ContextService> T getContextService(InterceptorContext
context) {
+ public T getContextService(InterceptorContext context) {
return null;
}
-
- public void processOutboundCancelRequest(final InterceptorContext context, final
RequestIdentifier requestIdentifier, final boolean mayInterrupt) {
- next.processOutboundCancelRequest(context, requestIdentifier, true);
- }
-
- public void processInboundCancelAcknowledge(final InterceptorContext context, final
RequestIdentifier requestIdentifier) {
- prev.processInboundCancelAcknowledge(context, requestIdentifier);
- }
-
- public final void close() {
- try {
- doClose();
- } catch (RuntimeException ex) {
- // todo - log the exception
- // consume
- } finally {
- next.close();
- }
- }
-
- /**
- * Actually perform the close operation. No delegation is necessary.
- */
- protected void doClose() {
- // do nothing by default; user should override
- }
}
Added:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractInterceptor.java
===================================================================
--- remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractInterceptor.java
(rev 0)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractInterceptor.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -0,0 +1,34 @@
+package org.jboss.cx.remoting.spi;
+
+import org.jboss.cx.remoting.RemoteExecutionException;
+
+/**
+ *
+ */
+public abstract class AbstractInterceptor implements Interceptor {
+ protected AbstractInterceptor() {
+ }
+
+ public void processRequest(final InterceptorContext context, final Object request) {
+ context.nextRequest(request);
+ }
+
+ public void processReply(final InterceptorContext context, final Object reply) {
+ context.nextReply(reply);
+ }
+
+ public void processCancelRequest(final InterceptorContext context, final boolean
mayInterrupt) {
+ context.nextCancelRequest(mayInterrupt);
+ }
+
+ public void processCancelAcknowledge(final InterceptorContext context) {
+ context.nextCancelAcknowledge();
+ }
+
+ public void processException(final InterceptorContext context, final
RemoteExecutionException exception) {
+ context.nextException(exception);
+ }
+
+ public void close() {
+ }
+}
Modified:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractServerInterceptor.java
===================================================================
---
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractServerInterceptor.java 2008-02-19
02:40:46 UTC (rev 3455)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/AbstractServerInterceptor.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -1,61 +1,10 @@
package org.jboss.cx.remoting.spi;
-import org.jboss.cx.remoting.RemoteExecutionException;
-import org.jboss.cx.remoting.spi.protocol.RequestIdentifier;
-
/**
* A simple base implementation of {@code ContextServiceInterceptor}. Use this class as
a base for simple
* implementations of that interface.
*/
-public abstract class AbstractServerInterceptor implements ServerInterceptor {
- protected ServerInterceptor next, prev;
-
+public abstract class AbstractServerInterceptor extends AbstractInterceptor implements
ServerInterceptor {
protected AbstractServerInterceptor() {
}
-
- public final void setNext(final ServerInterceptor next) {
- this.next = next;
- }
-
- public final void setPrevious(final ServerInterceptor prev) {
- this.prev = prev;
- }
-
- public void processInboundCancelRequest(final InterceptorContext context, final
RequestIdentifier requestIdentifier, final boolean mayInterruptIfRunning) {
- prev.processInboundCancelRequest(context, requestIdentifier, true);
- }
-
- public void processOutboundCancelAcknowledge(final InterceptorContext context, final
RequestIdentifier requestIdentifier) {
- next.processOutboundCancelAcknowledge(context, requestIdentifier);
- }
-
- public void processInboundRequest(final InterceptorContext context, final
RequestIdentifier requestIdentifier, final Object request) {
- prev.processInboundRequest(context, requestIdentifier, request);
- }
-
- public void processOutboundReply(final InterceptorContext context, final
RequestIdentifier requestIdentifier, final Object reply) {
- next.processOutboundReply(context, requestIdentifier, reply);
- }
-
- public void processOutboundException(final InterceptorContext context, final
RequestIdentifier requestIdentifier, final RemoteExecutionException exception) {
- next.processOutboundException(context, requestIdentifier, exception);
- }
-
- public final void close() {
- try {
- doClose();
- } catch (RuntimeException ex) {
- // todo - log the exception
- // consume
- } finally {
- next.close();
- }
- }
-
- /**
- * Actually perform the close operation. No delegation is necessary.
- */
- protected void doClose() {
- // do nothing by default; user should override
- }
}
Modified:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ClientInterceptor.java
===================================================================
---
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ClientInterceptor.java 2008-02-19
02:40:46 UTC (rev 3455)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ClientInterceptor.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -1,100 +1,16 @@
package org.jboss.cx.remoting.spi;
-import org.jboss.cx.remoting.RemoteExecutionException;
-import org.jboss.cx.remoting.spi.protocol.RequestIdentifier;
-
/**
* An interceptor that provides an additional service to a {@code Context}. A context
service interceptor is created
- * for every context service for each context. Upon creation, the interceptors are tied
together using the {@code
- * setNext}/{@code setPrevious} methods. Afterwards, the {@code processXXX} methods are
invoked to handle data coming
- * in or going out through the context.
- * <p/>
- * The interceptor {@code processXXX} methods are expected to delegate to the next or
previous interceptor after
- * performing the required processing. This diagram illustrates the relationship between
interceptors and the Remoting
- * core: <p><img src="Interceptors.png" alt="Diagram depicting
the relationship between interceptors and the Remoting
- * core"/></p>
- * <p/>
- * The general rule is that outbound process methods delegate to the next handler, and
inbound process methods delegate
- * to the previous handler. The methods may make exceptions in certain circumstances, as
described in the method
- * documentation, in order to "short-circuit" the request mechanism or to
affect message delivery in a service-specific
- * way.
- * <p/>
- * The methods {@code processOutboundRequest}, {@code processOutboundMessage}, {@code
processInboundReply}, and {@code
- * processInboundException} are all executed on the requesting ("client") side
of the context.
+ * for every context service for each context.
*/
-public interface ClientInterceptor {
- /**
- * Set the next context service handler. When requests are processed, each handler
delegates to the next handler in
- * the chain. Called once after the context service hander is created.
- *
- * @param nextInterceptor the next interceptor
- */
- void setNext(ClientInterceptor nextInterceptor);
+public interface ClientInterceptor<T> extends Interceptor {
/**
- * Set the previous context service handler. When replies are processed, each
handler delegates to the previous
- * handler in the chain. Called once after the context service hander is created.
- *
- * @param previousInterceptor the previous interceptor
- */
- void setPrevious(ClientInterceptor previousInterceptor);
-
- /**
* Get the context service object associated with this handler. This instance is the
end-user's interface into this
* service. If no interface is available for this context service, return {@code
null}.
*
* @return the context service object
*/
- <T extends ContextService> T getContextService(InterceptorContext context);
-
- /**
- * Process an outbound request.
- *
- * @param context the context service interceptor context
- * @param requestIdentifier the request identifier
- * @param request the outbound request
- */
- void processOutboundRequest(InterceptorContext context, RequestIdentifier
requestIdentifier, Object request);
-
- /**
- * Process an inbound request reply.
- *
- * @param context the context service interceptor context
- * @param requestIdentifier the request identifier
- * @param reply the inbound reply
- */
- void processInboundReply(InterceptorContext context, RequestIdentifier
requestIdentifier, Object reply);
-
- /**
- * Process an inbound request exception.
- *
- * @param context the context service interceptor context
- * @param requestIdentifier the request identifier
- * @param exception the inbound exception
- */
- void processInboundException(InterceptorContext context, RequestIdentifier
requestIdentifier, RemoteExecutionException exception);
-
- /**
- * Process an outbound cancellation request.
- *
- * @param context the context service interceptor context
- * @param requestIdentifier the request identifier
- * @param mayInterrupt {@code true} if the operation can be interrupted
- */
- void processOutboundCancelRequest(InterceptorContext context, RequestIdentifier
requestIdentifier, boolean mayInterrupt);
-
- /**
- * Process an inbound cancellation acknowledgement.
- *
- * @param context the context service interceptor context
- * @param requestIdentifier the request identifier
- */
- void processInboundCancelAcknowledge(InterceptorContext context, RequestIdentifier
requestIdentifier);
-
- /**
- * Close this interceptor. The handler MUST subsequently close the NEXT interceptor
in the chain (i.e. in a {@code
- * finally} block). The handler may not access the previous interceptor in the
chain, since it will already have
- * been closed.
- */
- void close();
+ T getContextService(InterceptorContext context);
}
Deleted: remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ContextService.java
===================================================================
---
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ContextService.java 2008-02-19
02:40:46 UTC (rev 3455)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ContextService.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -1,7 +0,0 @@
-package org.jboss.cx.remoting.spi;
-
-/**
- *
- */
-public interface ContextService {
-}
Added: remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/Interceptor.java
===================================================================
--- remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/Interceptor.java
(rev 0)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/Interceptor.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -0,0 +1,52 @@
+package org.jboss.cx.remoting.spi;
+
+import org.jboss.cx.remoting.RemoteExecutionException;
+
+/**
+ *
+ */
+public interface Interceptor {
+ /**
+ * Process a request.
+ *
+ * @param context the context service interceptor context
+ * @param request the outbound request
+ */
+ void processRequest(InterceptorContext context, Object request);
+
+ /**
+ * Process a request reply.
+ *
+ * @param context the context service interceptor context
+ * @param reply the inbound reply
+ */
+ void processReply(InterceptorContext context, Object reply);
+
+ /**
+ * Process a request exception.
+ *
+ * @param context the context service interceptor context
+ * @param exception the inbound exception
+ */
+ void processException(InterceptorContext context, RemoteExecutionException
exception);
+
+ /**
+ * Process a cancellation request.
+ *
+ * @param context the context service interceptor context
+ * @param mayInterrupt {@code true} if the operation can be interrupted
+ */
+ void processCancelRequest(InterceptorContext context, boolean mayInterrupt);
+
+ /**
+ * Process a cancellation acknowledgement.
+ *
+ * @param context the context service interceptor context
+ */
+ void processCancelAcknowledge(InterceptorContext context);
+
+ /**
+ * Close this interceptor.
+ */
+ void close();
+}
Modified:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/InterceptorContext.java
===================================================================
---
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/InterceptorContext.java 2008-02-19
02:40:46 UTC (rev 3455)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/InterceptorContext.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -1,7 +1,18 @@
package org.jboss.cx.remoting.spi;
+import org.jboss.cx.remoting.RemoteExecutionException;
+
/**
*
*/
public interface InterceptorContext {
+ void nextRequest(Object request);
+
+ void nextReply(Object reply);
+
+ void nextException(RemoteExecutionException exception);
+
+ void nextCancelRequest(boolean mayInterrupt);
+
+ void nextCancelAcknowledge();
}
Modified:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ServerInterceptor.java
===================================================================
---
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ServerInterceptor.java 2008-02-19
02:40:46 UTC (rev 3455)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/ServerInterceptor.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -1,92 +1,8 @@
package org.jboss.cx.remoting.spi;
-import org.jboss.cx.remoting.RemoteExecutionException;
-import org.jboss.cx.remoting.spi.protocol.RequestIdentifier;
-
/**
* An interceptor that provides an additional service to a {@code Context}. A context
service interceptor is created
- * for every context service for each context. Upon creation, the interceptors are tied
together using the {@code
- * setNext}/{@code setPrevious} methods. Afterwards, the {@code processXXX} methods are
invoked to handle data coming
- * in or going out through the context.
- * <p/>
- * The interceptor {@code processXXX} methods are expected to delegate to the next or
previous interceptor after
- * performing the required processing. This diagram illustrates the relationship between
interceptors and the Remoting
- * core: <p><img src="Interceptors.png" alt="Diagram depicting
the relationship between interceptors and the Remoting
- * core"/></p>
- * <p/>
- * The general rule is that outbound process methods delegate to the next handler, and
inbound process methods delegate
- * to the previous handler. The methods may make exceptions in certain circumstances, as
described in the method
- * documentation, in order to "short-circuit" the request mechanism or to
affect message delivery in a service-specific
- * way.
- * <p/>
- * The methods {@code processInboundRequest}, {@code processInboundMessage}, {@code
processOutboundReply}, and {@code
- * processOutboundException} all operate on the responding ("server") side of
the context.
+ * for every context service for each context.
*/
-public interface ServerInterceptor {
- /**
- * Set the next context service handler. When requests are processed, each handler
delegates to the next handler in
- * the chain. Called once after the context service hander is created.
- *
- * @param nextInterceptor the next interceptor
- */
- void setNext(ServerInterceptor nextInterceptor);
-
- /**
- * Set the previous context service handler. When replies are processed, each
handler delegates to the previous
- * handler in the chain. Called once after the context service hander is created.
- *
- * @param previousInterceptor the previous interceptor
- */
- void setPrevious(ServerInterceptor previousInterceptor);
-
- /**
- * Process an inbound request.
- *
- * @param context the context service interceptor context
- * @param requestIdentifier the request identifier
- * @param request the inbound request
- */
- void processInboundRequest(InterceptorContext context, RequestIdentifier
requestIdentifier, Object request);
-
- /**
- * Process an outbound reply.
- *
- * @param context the context service interceptor context
- * @param requestIdentifier the request identifier
- * @param reply the outbound reply
- */
- void processOutboundReply(InterceptorContext context, RequestIdentifier
requestIdentifier, Object reply);
-
- /**
- * Process an outbound request exception.
- *
- * @param context the context service interceptor context
- * @param requestIdentifier the request identifier
- * @param exception the exception that was thrown
- */
- void processOutboundException(InterceptorContext context, RequestIdentifier
requestIdentifier, RemoteExecutionException exception);
-
- /**
- * Process an inbound cancellation request.
- *
- * @param context the context service interceptor context
- * @param requestIdentifier the request identifier
- * @param mayInterruptIfRunning {@code true} if the operation can be interrupted
- */
- void processInboundCancelRequest(InterceptorContext context, RequestIdentifier
requestIdentifier, boolean mayInterruptIfRunning);
-
- /**
- * Process an outbound cancellation acknowledgement.
- *
- * @param context the context service interceptor context
- * @param requestIdentifier the request identifier
- */
- void processOutboundCancelAcknowledge(InterceptorContext context, RequestIdentifier
requestIdentifier);
-
- /**
- * Close this interceptor. The handler MUST subsequently close the NEXT interceptor
in the chain (i.e. in a {@code
- * finally} block). The handler may not access the previous interceptor in the
chain, since it will already have
- * been closed.
- */
- void close();
+public interface ServerInterceptor extends Interceptor {
}
Modified:
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/wrapper/ContextWrapper.java
===================================================================
---
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/wrapper/ContextWrapper.java 2008-02-19
02:40:46 UTC (rev 3455)
+++
remoting3/trunk/api/src/main/java/org/jboss/cx/remoting/spi/wrapper/ContextWrapper.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -5,7 +5,6 @@
import org.jboss.cx.remoting.FutureReply;
import org.jboss.cx.remoting.RemoteExecutionException;
import org.jboss.cx.remoting.RemotingException;
-import org.jboss.cx.remoting.spi.ContextService;
/**
*
@@ -33,11 +32,11 @@
return delegate.getAttributes();
}
- public <T extends ContextService> T getService(Class<T> serviceType)
throws RemotingException {
+ public <T> T getService(Class<T> serviceType) throws RemotingException {
return delegate.getService(serviceType);
}
- public <T extends ContextService> boolean hasService(Class<T>
serviceType) {
+ public <T> boolean hasService(Class<T> serviceType) {
return delegate.hasService(serviceType);
}
}
Modified:
remoting3/trunk/core/src/main/java/org/jboss/cx/remoting/core/CoreOutboundContext.java
===================================================================
---
remoting3/trunk/core/src/main/java/org/jboss/cx/remoting/core/CoreOutboundContext.java 2008-02-19
02:40:46 UTC (rev 3455)
+++
remoting3/trunk/core/src/main/java/org/jboss/cx/remoting/core/CoreOutboundContext.java 2008-02-19
02:42:17 UTC (rev 3456)
@@ -10,7 +10,6 @@
import org.jboss.cx.remoting.log.Logger;
import org.jboss.cx.remoting.core.util.AtomicStateMachine;
import org.jboss.cx.remoting.core.util.CollectionUtil;
-import org.jboss.cx.remoting.spi.ContextService;
import org.jboss.cx.remoting.spi.protocol.ContextIdentifier;
import org.jboss.cx.remoting.spi.protocol.RequestIdentifier;
@@ -175,12 +174,12 @@
return contextMap;
}
- public <T extends ContextService> T getService(final Class<T>
serviceType) throws RemotingException {
+ public <T> T getService(final Class<T> serviceType) throws
RemotingException {
// todo interceptors
return null;
}
- public <T extends ContextService> boolean hasService(final Class<T>
serviceType) {
+ public <T> boolean hasService(final Class<T> serviceType) {
// todo interceptors
return false;
}