Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.espertech.esperio.socket.core;
 
 
 
public class EsperSocketServiceRunnable implements Runnable {
    private static Log log = LogFactory.getLog(EsperSocketServiceRunnable.class);
    private String serviceName;
    private SocketConfig serviceConfig;
    private ServerSocket serversocket;
    private EPServiceProviderSPI engine;
    private boolean shutdown;
    public EsperSocketServiceRunnable(String serviceNameSocketConfig serviceConfigServerSocket serversocketEPServiceProviderSPI engine) {
        this. = serviceName;
        this. = serversocket;
        this. = serviceConfig;
        this. = engine;
    }
    public void run() {
        .info("For service '" +  + "' listening on port " + this..getLocalPort() + " expecting data type " + (.getDataType() == null ? . : .getDataType()));
        while (!Thread.interrupted()) {
            try {
                // Set up Socket connection
                Socket socket = this..accept();
                .info("Incoming connection service '" +  + "' from " + socket.getInetAddress());
                // Start worker thread
                WorkerThread t = new WorkerThread(thissocket);
                t.setDaemon(true);
                t.start();
                .add(t);
            }
            catch (InterruptedIOException ex) {
                break;
            }
            catch (IOException e) {
                if (!) {
                    .error("I/O error initialising connection thread for service '" +  + "' : " + e.getMessage());
                }
                break;
            }
        }
        .info("For service '" +  + "' listening on port " + this..getLocalPort() + " ended socket thread.");
    }
    public void destroy() {
        .info("Stopping worker threads for service '" +  + "'");
         = true;
        for (WorkerThread worker : ) {
            worker.setShutdown(true);
            if (!worker.isAlive()) {
                worker.interrupt();
            }
            try {
                worker.join(1000);
            }
            catch (InterruptedException e) {
            }
        }
        .clear();
    }
    public void remove(WorkerThread workerThread) {
        .remove(workerThread);
    }
New to GrepCode? Check out our FAQ X