public abstract class TcpConnectionSupport extends Object implements TcpConnection
Modifier and Type | Field and Description |
---|---|
protected org.apache.commons.logging.Log |
logger |
Constructor and Description |
---|
TcpConnectionSupport() |
TcpConnectionSupport(ApplicationEventPublisher applicationEventPublisher) |
TcpConnectionSupport(Socket socket,
boolean server,
boolean lookupHost,
ApplicationEventPublisher applicationEventPublisher,
String connectionFactoryName)
Creates a
TcpConnectionSupport object and publishes a
TcpConnectionOpenEvent , if an event publisher is provided. |
Modifier and Type | Method and Description |
---|---|
void |
afterSend(Message<?> message) |
void |
close()
Closes this connection.
|
protected void |
closeConnection(boolean isException)
If we have been intercepted, propagate the close from the outermost interceptor;
otherwise, just call close().
|
String |
getConnectionId() |
Deserializer<?> |
getDeserializer() |
String |
getHostAddress() |
String |
getHostName() |
TcpListener |
getListener() |
TcpMessageMapper |
getMapper() |
TcpSender |
getSender() |
Serializer<?> |
getSerializer() |
long |
incrementAndGetConnectionSequence() |
protected boolean |
isNoReadErrorOnClose() |
boolean |
isServer() |
boolean |
isSingleUse() |
protected void |
publishConnectionCloseEvent() |
protected void |
publishConnectionExceptionEvent(Throwable t) |
protected void |
publishConnectionOpenEvent() |
void |
publishEvent(TcpConnectionEvent event)
Allow interceptors etc to publish events, perhaps subclasses of
TcpConnectionEvent.
|
void |
registerListener(TcpListener listener)
Sets the listener that will receive incoming Messages.
|
void |
registerSender(TcpSender sender)
Registers a sender.
|
protected void |
sendExceptionToListener(Exception e) |
void |
setDeserializer(Deserializer<?> deserializer) |
void |
setMapper(TcpMessageMapper mapper) |
protected void |
setNoReadErrorOnClose(boolean noReadErrorOnClose) |
void |
setSerializer(Serializer<?> serializer) |
void |
setSingleUse(boolean singleUse) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDeserializerStateKey, getPayload, getPort, isOpen, send
public TcpConnectionSupport()
public TcpConnectionSupport(ApplicationEventPublisher applicationEventPublisher)
public TcpConnectionSupport(Socket socket, boolean server, boolean lookupHost, ApplicationEventPublisher applicationEventPublisher, String connectionFactoryName)
TcpConnectionSupport
object and publishes a
TcpConnectionOpenEvent
, if an event publisher is provided.socket
- the underlying socket.server
- true if this connection is a server connectionlookupHost
- true if reverse lookup of the host name should be performed,
otherwise, the ip address will be used for identification purposes.applicationEventPublisher
- the publisher to which open, close and exception events will
be sent; may be null if event publishing is not required.connectionFactoryName
- the name of the connection factory creating this connection; used
during event publishing, may be null, in which case "unknown" will be used.public void close()
close
in interface TcpConnection
protected void closeConnection(boolean isException)
isException
- true when this call is the result of an Exception.public TcpMessageMapper getMapper()
public void setMapper(TcpMessageMapper mapper)
mapper
- the mapper to setpublic Deserializer<?> getDeserializer()
getDeserializer
in interface TcpConnection
public void setDeserializer(Deserializer<?> deserializer)
deserializer
- the deserializer to setpublic Serializer<?> getSerializer()
getSerializer
in interface TcpConnection
public void setSerializer(Serializer<?> serializer)
serializer
- the serializer to setpublic void registerListener(TcpListener listener)
listener
- The listener.public void registerSender(TcpSender sender)
sender
- the sender.public TcpListener getListener()
getListener
in interface TcpConnection
public TcpSender getSender()
public void setSingleUse(boolean singleUse)
singleUse
- true if this socket is to used once and
discarded.public boolean isSingleUse()
isSingleUse
in interface TcpConnection
public boolean isServer()
isServer
in interface TcpConnection
public long incrementAndGetConnectionSequence()
incrementAndGetConnectionSequence
in interface TcpConnection
public String getHostAddress()
getHostAddress
in interface TcpConnection
public String getHostName()
getHostName
in interface TcpConnection
public String getConnectionId()
getConnectionId
in interface TcpConnection
protected boolean isNoReadErrorOnClose()
protected void setNoReadErrorOnClose(boolean noReadErrorOnClose)
protected final void sendExceptionToListener(Exception e)
protected void publishConnectionOpenEvent()
protected void publishConnectionCloseEvent()
protected void publishConnectionExceptionEvent(Throwable t)
public void publishEvent(TcpConnectionEvent event)
event
- the event to publish.