org.apache.cayenne.remote.hessian
Class HessianConnection

java.lang.Object
  extended by org.apache.cayenne.remote.BaseConnection
      extended by org.apache.cayenne.remote.hessian.HessianConnection
All Implemented Interfaces:
ClientConnection

public class HessianConnection
extends BaseConnection

An ClientConnection that passes messages to a remotely deployed HessianService. It supports HTTP BASIC authentication. HessianConnection serializes messages using Hessian binary web service protocol over HTTP. For more info on Hessian see Caucho site at http://www.caucho.com/resin-3.0/protocols/hessian.xtp. HessianConnection supports logging of message traffic via Jakarta commons-logging API.

Since:
1.2

Field Summary
static String[] CLIENT_SERIALIZER_FACTORIES
           
protected  String password
           
protected  RemoteService service
           
protected  RemoteSession session
           
protected  String sharedSessionName
           
protected  String url
           
protected  String userName
           
 
Fields inherited from class org.apache.cayenne.remote.BaseConnection
messageId
 
Constructor Summary
HessianConnection(String url)
          Creates HessianConnection that will establish dedicated session and will not use HTTP basic authentication.
HessianConnection(String url, String userName, String password, String sharedSessionName)
          Creates a HessianConnection.
 
Method Summary
protected  void beforeSendMessage(ClientMessage message)
          Establishes server session if needed.
protected  void connect()
          Establishes a session with remote service.
protected  Object doSendMessage(ClientMessage message)
          Sends a message to remote Cayenne Hessian service.
 String getPassword()
          Returns password that is used for basic authentication when connecting to the cayenne server.
 EventBridge getServerEventBridge()
          Returns an EventBridge that receives remote server events.
 RemoteSession getSession()
          Returns internal RemoteSession instance.
 String getSharedSessionName()
           
 String getUrl()
          Returns a URL of Cayenne service used by this connector.
 String getUserName()
          Returns user name that is used for basic authentication when connecting to the cayenne server.
 
Methods inherited from class org.apache.cayenne.remote.BaseConnection
getProcessedMessagesCount, sendMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLIENT_SERIALIZER_FACTORIES

public static final String[] CLIENT_SERIALIZER_FACTORIES

url

protected String url

userName

protected String userName

password

protected String password

sharedSessionName

protected String sharedSessionName

session

protected RemoteSession session

service

protected RemoteService service
Constructor Detail

HessianConnection

public HessianConnection(String url)
Creates HessianConnection that will establish dedicated session and will not use HTTP basic authentication.


HessianConnection

public HessianConnection(String url,
                         String userName,
                         String password,
                         String sharedSessionName)
Creates a HessianConnection. This constructor can optionally setup basic authentication credentials and configure shared session. url is the only required parameter.

Method Detail

getUrl

public String getUrl()
Returns a URL of Cayenne service used by this connector.


getUserName

public String getUserName()
Returns user name that is used for basic authentication when connecting to the cayenne server.


getPassword

public String getPassword()
Returns password that is used for basic authentication when connecting to the cayenne server.


getSharedSessionName

public String getSharedSessionName()

getServerEventBridge

public EventBridge getServerEventBridge()
                                 throws CayenneRuntimeException
Description copied from interface: ClientConnection
Returns an EventBridge that receives remote server events. Caller would normally register returned bridge with a local EventManager, thus allowing local listeners to receive server events.

Returns:
An EventBridge or null if server events are not supported.
Throws:
CayenneRuntimeException

getSession

public RemoteSession getSession()
Returns internal RemoteSession instance.


beforeSendMessage

protected void beforeSendMessage(ClientMessage message)
                          throws CayenneRuntimeException
Establishes server session if needed.

Specified by:
beforeSendMessage in class BaseConnection
Throws:
CayenneRuntimeException

doSendMessage

protected Object doSendMessage(ClientMessage message)
                        throws CayenneRuntimeException
Sends a message to remote Cayenne Hessian service.

Specified by:
doSendMessage in class BaseConnection
Throws:
CayenneRuntimeException

connect

protected void connect()
                throws CayenneRuntimeException
Establishes a session with remote service.

Throws:
CayenneRuntimeException


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.