Class CallMsgServer

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--CallMsgServer

public class CallMsgServer
extends java.lang.Thread

Realizza un thread che si pone in ascolto sulla socket alla quale si connettono i FE. Per ogni connessione genera un nuovo thread CallMsgManager che si occupa di servire le richieste del FE.

Author:
Mauro Barbieri
See Also:
CallMsgManager

Field Summary
private static boolean DEBUG
          Flag per abilitare stampe di debugging su standard output e standard error.
private  java.net.ServerSocket serverSocket
          Socket sulla quale si pone in ascolto il thread.
private  StatoRM statoRM
          Riferimento alle variabili che rappresentano lo stato del Replica Manager di cui rappresenta il server per i call message.
 
Fields inherited from class java.lang.Thread
contextClassLoader, daemon, eetop, group, inheritedAccessControlContext, MAX_PRIORITY, MIN_PRIORITY, name, NORM_PRIORITY, priority, single_step, stillborn, stopThreadPermission, target, threadInitNumber, threadQ, values
 
Constructor Summary
CallMsgServer(StatoRM stato)
          Crea un'istanza di CallMsgServer che si porra' in ascolto alla porta specificata.
 
Method Summary
static void main(java.lang.String[] args)
          Rende la classe un'applicazione stand-alone per il testing.
 void run()
          Ridefinisce l'omonimo metodo della classe java.lang.Thread mettendosi in ascolto di connessioni dei FE e generando un nuovo thread CallMsgManager ad ogni nuova connessione.
 
Methods inherited from class java.lang.Thread
, activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, exit, getContextClassLoader, getName, getPriority, getThreadGroup, init, interrupt, interrupt0, interrupted, isAlive, isDaemon, isInterrupted, isInterrupted, join, join, join, nextThreadNum, registerNatives, resume, resume0, setContextClassLoader, setDaemon, setName, setPriority, setPriority0, sleep, sleep, start, stop, stop, stop0, suspend, suspend0, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serverSocket

private java.net.ServerSocket serverSocket
Socket sulla quale si pone in ascolto il thread.

statoRM

private StatoRM statoRM
Riferimento alle variabili che rappresentano lo stato del Replica Manager di cui rappresenta il server per i call message.

DEBUG

private static final boolean DEBUG
Flag per abilitare stampe di debugging su standard output e standard error.
Constructor Detail

CallMsgServer

public CallMsgServer(StatoRM stato)
              throws java.io.IOException
Crea un'istanza di CallMsgServer che si porra' in ascolto alla porta specificata.
Parameters:
porta - porta alla quale sara' legata la socket d'ascolto.
stato - riferimento alle variabili che rappresentano lo stato del Replica Manager di cui rappresenta il server per i call message.
Throws:
java.io.IOException - se non e' possibile creare la socket alla porta specificata.
Method Detail

run

public void run()
Ridefinisce l'omonimo metodo della classe java.lang.Thread mettendosi in ascolto di connessioni dei FE e generando un nuovo thread CallMsgManager ad ogni nuova connessione. Sono effettuate invocazioni al metodo java.net.ServerSocket.accept(), che in caso di fallimento solleva un'eccezione java.io.IOException. In questo caso viene invocato il metodo java.lang.System.exit() che provoca la terminazione della JVM.
Overrides:
run in class java.lang.Thread

main

public static void main(java.lang.String[] args)
Rende la classe un'applicazione stand-alone per il testing.