public class SocketReceiver extends ReceiverBase implements java.lang.Runnable, SocketConnector.ExceptionHandler
ILoggingEvent objects from a
remote appender over a Socket.| Modifier and Type | Field and Description |
|---|---|
private int |
acceptConnectionTimeout |
private java.net.InetAddress |
address |
private java.util.concurrent.Future<java.net.Socket> |
connectorTask |
private static int |
DEFAULT_ACCEPT_CONNECTION_DELAY |
private int |
port |
private java.lang.String |
receiverId |
private int |
reconnectionDelay |
private java.lang.String |
remoteHost |
private java.net.Socket |
socket |
context| Constructor and Description |
|---|
SocketReceiver() |
| Modifier and Type | Method and Description |
|---|---|
private java.util.concurrent.Future<java.net.Socket> |
activateConnector(SocketConnector connector) |
void |
connectionFailed(SocketConnector connector,
java.lang.Exception ex) |
private SocketConnector |
createConnector(java.net.InetAddress address,
int port,
int initialDelay,
int retryDelay) |
private void |
dispatchEvents(LoggerContext lc) |
protected java.lang.Runnable |
getRunnableTask()
Provides the runnable task this receiver will execute.
|
protected javax.net.SocketFactory |
getSocketFactory() |
protected SocketConnector |
newConnector(java.net.InetAddress address,
int port,
int initialDelay,
int retryDelay) |
protected void |
onStop()
Allows a subclass to participate in receiver shutdown.
|
void |
run() |
void |
setAcceptConnectionTimeout(int acceptConnectionTimeout) |
void |
setPort(int port) |
void |
setReconnectionDelay(int reconnectionDelay) |
void |
setRemoteHost(java.lang.String remoteHost) |
protected boolean |
shouldStart()
Determines whether this receiver should start.
|
private java.net.Socket |
waitForConnectorToReturnASocket() |
isStarted, start, stopaddError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContextprivate static final int DEFAULT_ACCEPT_CONNECTION_DELAY
private java.lang.String remoteHost
private java.net.InetAddress address
private int port
private int reconnectionDelay
private int acceptConnectionTimeout
private java.lang.String receiverId
private volatile java.net.Socket socket
private java.util.concurrent.Future<java.net.Socket> connectorTask
protected boolean shouldStart()
Subclasses will implement this method to do any subclass-specific
validation. The subclass's ReceiverBase.getRunnableTask() method will be
invoked (and the task returned will be submitted to the executor)
if and only if this method returns true
shouldStart in class ReceiverBaseprotected void onStop()
onStop in class ReceiverBaseprotected java.lang.Runnable getRunnableTask()
ReceiverBasegetRunnableTask in class ReceiverBasepublic void run()
run in interface java.lang.Runnableprivate SocketConnector createConnector(java.net.InetAddress address, int port, int initialDelay, int retryDelay)
private java.util.concurrent.Future<java.net.Socket> activateConnector(SocketConnector connector)
private java.net.Socket waitForConnectorToReturnASocket()
throws java.lang.InterruptedException
java.lang.InterruptedExceptionprivate void dispatchEvents(LoggerContext lc)
public void connectionFailed(SocketConnector connector, java.lang.Exception ex)
connectionFailed in interface SocketConnector.ExceptionHandlerprotected SocketConnector newConnector(java.net.InetAddress address, int port, int initialDelay, int retryDelay)
protected javax.net.SocketFactory getSocketFactory()
public void setRemoteHost(java.lang.String remoteHost)
public void setPort(int port)
public void setReconnectionDelay(int reconnectionDelay)
public void setAcceptConnectionTimeout(int acceptConnectionTimeout)