## org.springframework.remoting.caucho
Class HessianExporter

    java.lang.Object
      org.springframework.remoting.support.RemotingSupport
          org.springframework.remoting.support.RemoteExporter
              org.springframework.remoting.caucho.HessianExporter

All Implemented Interfaces:
  BeanClassLoaderAware, InitializingBean

Direct Known Subclasses:
  HessianServiceExporter, SimpleHessianServiceExporter

    public class HessianExporter

extends RemoteExporter
implements InitializingBean

General stream-based protocol exporter for a Hessian endpoint.

Hessian is a slim, binary RPC protocol. For information on Hessian, see the Hessian website. Note: As of Spring 3.0, this exporter requires Hessian 3.2 or above.

Since:
  2.5.1
Author:
  Juergen Hoeller
See Also:
  `invoke(java.io.InputStream, java.io.OutputStream)`, `HessianServiceExporter`, `SimpleHessianServiceExporter`

Field Summary
`static String` `CONTENT_TYPE_HESSIAN`

Fields inherited from class org.springframework.remoting.support.RemotingSupport
`logger`

Constructor Summary
`HessianExporter()`

Method Summary
`void` `afterPropertiesSet()` Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
`protected void` `doInvoke(com.caucho.hessian.server.HessianSkeleton skeleton, InputStream inputStream, OutputStream outputStream)` Actually invoke the skeleton with the given streams.
`void` `invoke(InputStream inputStream, OutputStream outputStream)` Perform an invocation on the exported object.
`void` `prepare()` Initialize this exporter.
`void` `setDebug(boolean debug)` Set whether Hessian's debug mode should be enabled, logging to this exporter's Commons Logging log.
`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, setInterceptors, setRegisterTraceInterceptor, setService, setServiceInterface`

Methods inherited from class org.springframework.remoting.support.RemotingSupport
`getBeanClassLoader, overrideThreadContextClassLoader, resetThreadContextClassLoader, setBeanClassLoader`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### CONTENT_TYPE_HESSIAN

    public static final String CONTENT_TYPE_HESSIAN

See Also:
  Constant Field Values

Constructor Detail

### HessianExporter

    public HessianExporter()

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".

### setDebug

    public void setDebug(boolean debug)

  Set whether Hessian's debug mode should be enabled, logging to this exporter's Commons Logging log. Default is "false".

  See Also:
    `HessianProxyFactory.setDebug(boolean)`

### 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 exporter.

### invoke

    public void invoke(InputStream inputStream,
                       OutputStream outputStream)
                throws Throwable

  Perform an invocation on the exported object.

  Parameters:
    `inputStream` - the request stream
    `outputStream` - the response stream
  Throws:
    `Throwable` - if invocation failed

### doInvoke

    protected void doInvoke(com.caucho.hessian.server.HessianSkeleton skeleton,
                            InputStream inputStream,
                            OutputStream outputStream)
                     throws Throwable

  Actually invoke the skeleton with the given streams.

  Parameters:
    `skeleton` - the skeleton to invoke
    `inputStream` - the request stream
    `outputStream` - the response stream
  Throws:
    `Throwable` - if invocation failed