The Spring Framework

org.springframework.remoting.caucho
Class HessianServiceExporter

java.lang.Object
  extended by org.springframework.remoting.support.RemoteExporter
      extended by org.springframework.remoting.caucho.HessianServiceExporter
All Implemented Interfaces:
BeanClassLoaderAware, InitializingBean, HttpRequestHandler

public class HessianServiceExporter
extends RemoteExporter
implements HttpRequestHandler, InitializingBean

HTTP request handler that exports the specified service bean as Hessian service endpoint, accessible via a Hessian proxy.

Hessian is a slim, binary RPC protocol. For information on Hessian, see the Hessian website

This exporter will work with both Hessian 2.x and 3.x (respectively Resin 2.x and 3.x), autodetecting the corresponding skeleton class. As of Spring 2.0, it is also compatible with the new Hessian 2 protocol (a.k.a. Hessian 3.0.20+), while remaining compatible with older versions.

Note: Hessian services exported with this class can be accessed by any Hessian client, as there isn't any special handling involved.

Since:
13.05.2003
Author:
Juergen Hoeller
See Also:
HessianClientInterceptor, HessianProxyFactoryBean, BurlapServiceExporter, HttpInvokerServiceExporter, RmiServiceExporter

Field Summary
 
Fields inherited from class org.springframework.remoting.support.RemoteExporter
logger
 
Constructor Summary
HessianServiceExporter()
           
 
Method Summary
 void afterPropertiesSet()
          Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
 void handleRequest(HttpServletRequest request, HttpServletResponse response)
          Processes the incoming Hessian request and creates a Hessian response.
 void prepare()
          Initialize this service exporter.
 void setSendCollectionType(boolean sendCollectionType)
          Set whether to send the Java collection type for each serialized collection.
 void setSerializerFactory(com.caucho.hessian.io.SerializerFactory serializerFactory)
          Specify the Hessian SerializerFactory to use.
 
Methods inherited from class org.springframework.remoting.support.RemoteExporter
checkService, checkServiceInterface, getExporterName, getProxyForService, getService, getServiceInterface, isRegisterTraceInterceptor, setBeanClassLoader, setRegisterTraceInterceptor, setService, setServiceInterface
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HessianServiceExporter

public HessianServiceExporter()
Method Detail

setSerializerFactory

public void setSerializerFactory(com.caucho.hessian.io.SerializerFactory serializerFactory)
Specify the Hessian SerializerFactory to use.

This will typically be passed in as an inner bean definition of type com.caucho.hessian.io.SerializerFactory, with custom bean property values applied.


setSendCollectionType

public void setSendCollectionType(boolean sendCollectionType)
Set whether to send the Java collection type for each serialized collection. Default is "true".


afterPropertiesSet

public void afterPropertiesSet()
Description copied from interface: InitializingBean
Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

Specified by:
afterPropertiesSet in interface InitializingBean

prepare

public void prepare()
Initialize this service exporter.


handleRequest

public void handleRequest(HttpServletRequest request,
                          HttpServletResponse response)
                   throws ServletException,
                          IOException
Processes the incoming Hessian request and creates a Hessian response.

Specified by:
handleRequest in interface HttpRequestHandler
Parameters:
request - current HTTP request
response - current HTTP response
Throws:
ServletException - in case of general errors
IOException - in case of I/O errors

The Spring Framework

Copyright © 2002-2007 The Spring Framework.