org.apache.jmeter.protocol.http.proxy

## Class Daemon

- java.lang.Object
- - java.lang.Thread
  - - org.apache.jmeter.protocol.http.proxy.Daemon

- All Implemented Interfaces:
    Runnable, Stoppable

      public class Daemon
      extends Thread
      implements Stoppable

  Web daemon thread. Creates main socket on port 8080 and listens on it forever. For each client request, creates a Proxy thread to handle the request.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.lang.Thread

      `Thread.State, Thread.UncaughtExceptionHandler`

  - ### Field Summary

    - ### Fields inherited from class java.lang.Thread

      `MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Daemon(int port, ProxyControl target)` Create a new Daemon with the specified port and target.
    `Daemon(int port, ProxyControl target, Class<? extends Proxy> proxyClass)` Create a new Daemon with the specified port and target, using the specified class to handle individual requests.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `run()` Listen on the daemon port and handle incoming requests.
    `void` | `stopServer()` Stop the proxy daemon.

    - ### Methods inherited from class java.lang.Thread

      `activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Daemon

          public Daemon(int port,
                        ProxyControl target)
                 throws IOException

      Create a new Daemon with the specified port and target.
      Parameters:
        `port` - the port to listen on.
        `target` - the target which will receive the generated JMeter test components.
      Throws:
        `IOException` - if an I/O error occurs opening the socket
        `IllegalArgumentException` - if `port` is outside the allowed range from `0` to `65535`
        `SocketException` - when something is wrong on the underlying protocol layer

    - #### Daemon

          public Daemon(int port,
                        ProxyControl target,
                        Class<? extends Proxy> proxyClass)
                 throws IOException

      Create a new Daemon with the specified port and target, using the specified class to handle individual requests.
      Parameters:
        `port` - the port to listen on.
        `target` - the target which will receive the generated JMeter test components.
        `proxyClass` - the proxy class to use to handle individual requests. This class must be the `Proxy` class or a subclass.
      Throws:
        `IOException` - if an I/O error occurs opening the socket
        `IllegalArgumentException` - if `port` is outside the allowed range from `0` to `65535`
        `SocketException` - when something is wrong on the underlying protocol layer

  - ### Method Detail

    - #### run

          public void run()

      Listen on the daemon port and handle incoming requests. This method will not exit until `stopServer()` is called or an error occurs.
      Specified by:
        `run` in interface `Runnable`
      Overrides:
        `run` in class `Thread`

    - #### stopServer

          public void stopServer()

      Stop the proxy daemon. The daemon may not stop immediately. see #ACCEPT_TIMEOUT
      Specified by:
        `stopServer` in interface `Stoppable`

Copyright © 1998-2017 Apache Software Foundation. All Rights Reserved.