JBossRemoting Interceptors
In the JBossRemoting 1.0.1 alpha release, there is code included for using JBoss 5 interceptors. This code can be found in the org.jboss.aspects.remoting package under the remoting module. All that is need for the InvokerInterceptor is for the InvokerLocator to be set within the Invocation metadata. The InvokerInterceptor will then use RemotingInterceptorFactory to dynamically create a MarshallerInterceptor and a TransportInterceptor.
There are three ways in which the Marshller can be selected. The first is to set the datatype in the Invocation metadata. The second is to add a datatype parameter to the InvokerLocator URI. The third is to rely on the default datatype for the transport to be used. Note, this is the order in which the RemotingInterceptorFactory will check for the datatype to be used in looking up the Marshaller from the MarshalFactory.
The transport to be selected is purely based off the transport specified in the InvokerLocator URI (rmi://192.168.1.2:8100 for example would use the RMI transport).
There is sample code demonstrating how the InvokerInterceptor works in the org.jboss.remoting.interceptor package under the remoting/tests/src directory.
Note that the InvokerInterceptor is only available in CVS HEAD and is targeted for JBoss 5 release.
Comments