org.jboss.logging
Class Log4jSocketServer

java.lang.Object
  extended byorg.jboss.mx.util.JBossNotificationBroadcasterSupport (src) 
      extended byorg.jboss.system.ServiceMBeanSupport (src) 
          extended byorg.jboss.logging.Log4jSocketServer
All Implemented Interfaces:
MBeanRegistration (src) , NotificationBroadcaster (src) , NotificationEmitter (src) , Service (src) , ServiceMBean (src)

public class Log4jSocketServer
extends ServiceMBeanSupport (src)

A Log4j SocketServer service. Listens for client connections on the specified port and creates a new thread and SocketNode to process the incoming client log messages.

The LoggerRepository can be changed based on the clients address by using a custom LoggerRepositoryFactory. The default factory will simply return the current repository.


Nested Class Summary
static class Log4jSocketServer.DefaultLoggerRepositoryFactory (src)
          A simple LoggerRepository factory which simply returns the current repository from the LogManager.
static interface Log4jSocketServer.LoggerRepositoryFactory (src)
           
protected  class Log4jSocketServer.SocketListenerThread (src)
           
 
Field Summary
protected  int backlog
          The listen backlog count.
protected  java.net.InetAddress bindAddress
          The address to bind to.
protected  boolean listenerEnabled
          True if the socket listener is enabled.
protected  Log4jSocketServer.SocketListenerThread (src) listenerThread
          The socket listener thread.
protected  Log4jSocketServer.LoggerRepositoryFactory (src) loggerRepositoryFactory
          The factory to create LoggerRepository's for client connections.
protected  int port
          The port number where the server listens.
protected  java.net.ServerSocket serverSocket
          The server socket which the listener listens on.
 
Fields inherited from class org.jboss.system.ServiceMBeanSupport (src)
log, server, SERVICE_CONTROLLER_SIG, serviceName
 
Fields inherited from interface org.jboss.system.ServiceMBean (src)
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED
 
Constructor Summary
Log4jSocketServer()
           
 
Method Summary
protected  void createService()
          Sub-classes should override this method to provide custum 'create' logic.
protected  void destroyService()
          Sub-classes should override this method to provide custum 'destroy' logic.
 int getBacklog()
           
 java.net.InetAddress getBindAddress()
           
 LoggerRepository getLoggerRepository(java.net.InetAddress addr)
           
 java.lang.Class getLoggerRepositoryFactoryType()
           
 int getPort()
           
 void setBacklog(int backlog)
           
 void setBindAddress(java.net.InetAddress addr)
           
 boolean setListenerEnabled()
           
 void setListenerEnabled(boolean enabled)
           
 void setLoggerRepositoryFactoryType(java.lang.Class type)
           
 void setPort(int port)
           
protected  void startService()
          Sub-classes should override this method to provide custum 'start' logic.
protected  void stopService()
          Sub-classes should override this method to provide custum 'stop' logic.
 
Methods inherited from class org.jboss.system.ServiceMBeanSupport (src)
create, destroy, getLog, getName, getNextNotificationSequenceNumber, getObjectName, getServer, getServiceName, getState, getStateString, jbossInternalCreate, jbossInternalDescription, jbossInternalDestroy, jbossInternalLifecycle, jbossInternalStart, jbossInternalStop, postDeregister, postRegister, preDeregister, preRegister, start, stop
 
Methods inherited from class org.jboss.mx.util.JBossNotificationBroadcasterSupport (src)
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

port

protected int port
The port number where the server listens.


backlog

protected int backlog
The listen backlog count.


bindAddress

protected java.net.InetAddress bindAddress
The address to bind to.


listenerEnabled

protected boolean listenerEnabled
True if the socket listener is enabled.


listenerThread

protected Log4jSocketServer.SocketListenerThread (src)  listenerThread
The socket listener thread.


serverSocket

protected java.net.ServerSocket serverSocket
The server socket which the listener listens on.


loggerRepositoryFactory

protected Log4jSocketServer.LoggerRepositoryFactory (src)  loggerRepositoryFactory
The factory to create LoggerRepository's for client connections.

Constructor Detail

Log4jSocketServer

public Log4jSocketServer()
Method Detail

setPort

public void setPort(int port)

getPort

public int getPort()

setBacklog

public void setBacklog(int backlog)

getBacklog

public int getBacklog()

setBindAddress

public void setBindAddress(java.net.InetAddress addr)

getBindAddress

public java.net.InetAddress getBindAddress()

setListenerEnabled

public void setListenerEnabled(boolean enabled)

setListenerEnabled

public boolean setListenerEnabled()

setLoggerRepositoryFactoryType

public void setLoggerRepositoryFactoryType(java.lang.Class type)
                                    throws java.lang.InstantiationException,
                                           java.lang.IllegalAccessException,
                                           java.lang.ClassCastException
Throws:
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.ClassCastException

getLoggerRepositoryFactoryType

public java.lang.Class getLoggerRepositoryFactoryType()

getLoggerRepository

public LoggerRepository getLoggerRepository(java.net.InetAddress addr)

createService

protected void createService()
                      throws java.lang.Exception
Description copied from class: ServiceMBeanSupport (src)
Sub-classes should override this method to provide custum 'create' logic.

This method is empty, and is provided for convenience when concrete service classes do not need to perform anything specific for this state change.

Overrides:
createService in class ServiceMBeanSupport (src)
Throws:
java.lang.Exception

startService

protected void startService()
                     throws java.lang.Exception
Description copied from class: ServiceMBeanSupport (src)
Sub-classes should override this method to provide custum 'start' logic.

This method is empty, and is provided for convenience when concrete service classes do not need to perform anything specific for this state change.

Overrides:
startService in class ServiceMBeanSupport (src)
Throws:
java.lang.Exception

stopService

protected void stopService()
                    throws java.lang.Exception
Description copied from class: ServiceMBeanSupport (src)
Sub-classes should override this method to provide custum 'stop' logic.

This method is empty, and is provided for convenience when concrete service classes do not need to perform anything specific for this state change.

Overrides:
stopService in class ServiceMBeanSupport (src)
Throws:
java.lang.Exception

destroyService

protected void destroyService()
                       throws java.lang.Exception
Description copied from class: ServiceMBeanSupport (src)
Sub-classes should override this method to provide custum 'destroy' logic.

This method is empty, and is provided for convenience when concrete service classes do not need to perform anything specific for this state change.

Overrides:
destroyService in class ServiceMBeanSupport (src)
Throws:
java.lang.Exception