org.appng.core.controller.messaging

## Class JedisReceiver

- java.lang.Object
- - org.appng.core.controller.messaging.JedisBase
  - - org.appng.core.controller.messaging.JedisReceiver

- All Implemented Interfaces:
    Closeable, AutoCloseable, Runnable, Receiver

      public class JedisReceiver
      extends JedisBase
      implements Receiver, Runnable

  Message receiver implementing `Receiver` to use a redis database with its build-in publish/subscribe function as message broker. Following platform properties are needed (default value in brackets):
  - `redisMessagingHost` (localhost): Host of the redis server
  - `redisMessagingPort` (6379): Port of the redis server
  - `redisMessagingPassword` (): Password of the redis server
  - `redisMessagingTimeout` (): Timeout is optional. If not defined, Redis default is used
  - `redisMessagingChannel` (appng-messaging): Channel where all cluster nodes should publish and subscribe. Be aware that this name must be different among different clusters using the same Redis server
  Author:
    Claus Stuemke, aiticon GmbH, 2015

- - ### Field Summary

    - ### Fields inherited from class org.appng.core.controller.messaging.JedisBase

      `channel, eventSerializer, host, password, port, REDIS_MESSAGING_CHANNEL, REDIS_MESSAGING_HOST, REDIS_MESSAGING_PASSWORD, REDIS_MESSAGING_PORT, REDIS_MESSAGING_TIMEOUT, timeout`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JedisReceiver()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Closes the receiver, in particular blocking I/O resources need to be closed here.
    `Receiver` | `configure(Serializer eventDeserializer)` Configures the receiver
    `Sender` | `createSender()` Creates and returns a `Sender` capable of sending `Event`s that can be received by this type of receiver.
    `String` | `getHost()`
    `int` | `getPort()`
    `int` | `getTimeout()`
    `void` | `registerHandler(EventHandler<?> handler)` Registers a new `EventHandler`
    `void` | `run()`
    `void` | `runWith(ExecutorService executorService)` Since a receiver runs as a thread, the given `ExecutorService` should be used to run this thread.
    `void` | `setDefaultHandler(EventHandler<?> defaultHandler)` Sets the default `EventHandler`, used when no other handler is registered for a certain event type
    `void` | `setHost(String host)`
    `void` | `setPort(int port)`
    `void` | `setTimeout(int timeout)`

    - ### Methods inherited from class org.appng.core.controller.messaging.JedisBase

      `getJedis, initialize`

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

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

- - ### Constructor Detail

    - #### JedisReceiver

          public JedisReceiver()

  - ### Method Detail

    - #### configure

          public Receiver configure(Serializer eventDeserializer)

      Description copied from interface: `Receiver`
      Configures the receiver
      Specified by:
        `configure` in interface `Receiver`
      Parameters:
        `eventDeserializer` - the `Serializer` for this receiver
      Returns:
        the configured receiver

    - #### createSender

          public Sender createSender()

      Description copied from interface: `Receiver`
      Creates and returns a `Sender` capable of sending `Event`s that can be received by this type of receiver.
      Specified by:
        `createSender` in interface `Receiver`
      Returns:
        the `Sender`

    - #### runWith

          public void runWith(ExecutorService executorService)

      Description copied from interface: `Receiver`
      Since a receiver runs as a thread, the given `ExecutorService` should be used to run this thread.
      Specified by:
        `runWith` in interface `Receiver`
      Parameters:
        `executorService` - the `ExecutorService` to run this receiver with

    - #### run

          public void run()

      Specified by:
        `run` in interface `Runnable`

    - #### registerHandler

          public void registerHandler(EventHandler<?> handler)

      Description copied from interface: `Receiver`
      Registers a new `EventHandler`
      Specified by:
        `registerHandler` in interface `Receiver`
      Parameters:
        `handler` - the `EventHandler` to register

    - #### setDefaultHandler

          public void setDefaultHandler(EventHandler<?> defaultHandler)

      Description copied from interface: `Receiver`
      Sets the default `EventHandler`, used when no other handler is registered for a certain event type
      Specified by:
        `setDefaultHandler` in interface `Receiver`
      Parameters:
        `defaultHandler` - the default `EventHandler` to use

    - #### getHost

          public String getHost()

      Returns:
        the host

    - #### setHost

          public void setHost(String host)

      Parameters:
        `host` - the host to set

    - #### getPort

          public int getPort()

      Returns:
        the port

    - #### setPort

          public void setPort(int port)

      Parameters:
        `port` - the port to set

    - #### getTimeout

          public int getTimeout()

      Returns:
        the timeout

    - #### setTimeout

          public void setTimeout(int timeout)

      Parameters:
        `timeout` - the timeout to set

    - #### close

          public void close()
                     throws IOException

      Description copied from interface: `Receiver`
      Closes the receiver, in particular blocking I/O resources need to be closed here.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `Receiver`
      Throws:
        `IOException`

Copyright © 2011–2023 aiticon GmbH. All rights reserved.