org.springframework.remoting.caucho
Class BurlapClientInterceptor

java.lang.Object
  extended byorg.springframework.remoting.support.RemoteAccessor
      extended byorg.springframework.remoting.support.UrlBasedRemoteAccessor
          extended byorg.springframework.remoting.caucho.CauchoRemoteAccessor
              extended byorg.springframework.remoting.caucho.BurlapClientInterceptor
All Implemented Interfaces:
Advice, InitializingBean, Interceptor, MethodInterceptor
Direct Known Subclasses:
BurlapProxyFactoryBean

public class BurlapClientInterceptor
extends CauchoRemoteAccessor
implements MethodInterceptor

Interceptor for accessing a Burlap service. Supports authentication via username and password. The service URL must be an HTTP URL exposing a Burlap service.

Burlap is a slim, XML-based RPC protocol. For information on Burlap, see the Burlap website

Note: Burlap services accessed with this proxy factory do not have to be exported via BurlapServiceExporter, as there isn't any special handling involved. Therefore, you can also access services that are exported via Caucho's BurlapServlet.

Since:
29.09.2003
Author:
Juergen Hoeller
See Also:
RemoteAccessor.setServiceInterface(java.lang.Class), UrlBasedRemoteAccessor.setServiceUrl(java.lang.String), CauchoRemoteAccessor.setUsername(java.lang.String), CauchoRemoteAccessor.setPassword(java.lang.String), BurlapServiceExporter, BurlapProxyFactoryBean, BurlapProxyFactory

Field Summary
 
Fields inherited from class org.springframework.remoting.support.RemoteAccessor
logger
 
Constructor Summary
BurlapClientInterceptor()
           
 
Method Summary
protected  RemoteAccessException convertBurlapAccessException(Throwable ex)
          Convert the given Burlap access exception to an appropriate Spring RemoteAccessException.
protected  Object createBurlapProxy(com.caucho.burlap.client.BurlapProxyFactory proxyFactory)
          Create the Burlap proxy that is wrapped by this interceptor.
 Object invoke(MethodInvocation invocation)
           
 void prepare()
          Initialize the Burlap proxy for this interceptor.
 void setProxyFactory(com.caucho.burlap.client.BurlapProxyFactory proxyFactory)
          Set the BurlapProxyFactory instance to use.
 
Methods inherited from class org.springframework.remoting.caucho.CauchoRemoteAccessor
afterPropertiesSet, getPassword, getUsername, isOverloadEnabled, setOverloadEnabled, setPassword, setUsername
 
Methods inherited from class org.springframework.remoting.support.UrlBasedRemoteAccessor
getServiceUrl, setServiceUrl
 
Methods inherited from class org.springframework.remoting.support.RemoteAccessor
getServiceInterface, setServiceInterface
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BurlapClientInterceptor

public BurlapClientInterceptor()
Method Detail

setProxyFactory

public void setProxyFactory(com.caucho.burlap.client.BurlapProxyFactory proxyFactory)
Set the BurlapProxyFactory instance to use. If not specified, a default BurlapProxyFactory will be created.

Allows to use an externally configured factory instance, in particular a custom BurlapProxyFactory subclass.


prepare

public void prepare()
             throws MalformedURLException
Initialize the Burlap proxy for this interceptor.

Overrides:
prepare in class CauchoRemoteAccessor
Throws:
MalformedURLException - if thrown by Hessian/Burlap API
See Also:
HessianClientInterceptor.prepare(), prepare()

createBurlapProxy

protected Object createBurlapProxy(com.caucho.burlap.client.BurlapProxyFactory proxyFactory)
                            throws MalformedURLException
Create the Burlap proxy that is wrapped by this interceptor.

Parameters:
proxyFactory - the proxy factory to use
Returns:
the Burlap proxy
Throws:
MalformedURLException - if thrown by the proxy factory
See Also:
BurlapProxyFactory.create(java.lang.Class, java.lang.String)

invoke

public Object invoke(MethodInvocation invocation)
              throws Throwable
Specified by:
invoke in interface MethodInterceptor
Throws:
Throwable

convertBurlapAccessException

protected RemoteAccessException convertBurlapAccessException(Throwable ex)
Convert the given Burlap access exception to an appropriate Spring RemoteAccessException.

Parameters:
ex - the exception to convert
Returns:
the RemoteAccessException to throw


Copyright (C) 2003-2004 The Spring Framework Project.