Annotation Interface Polling


@Target(TYPE) @Retention(RUNTIME) @Component public @interface Polling
Marks an event listener as polled event listener. It will be wrapped automatically with SimplePollingEventListenerContainer.

Template can be provided using EventTemplate marked on a general method that returns the template.

The event listener method should be marked with SpaceDataEvent.

Author:
kimchy
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Set whether this container will start once instantiated.
    int
    Specify the number of concurrent consumers to create.
    The name of the bean that is the GigaSpace this container will use.
    int
     
    int
    Specify the maximum number of concurrent consumers to create.
    boolean
    If set to true will pass an array value returned from a ReceiveOperationHandler directly to the listener without "serializing" it as one array element each time.
    boolean
    If set to true will perform prepareTemplate operation on the provided template before invoking registering as an event listener.
    long
    Set the timeout to use for receive calls, in milliseconds.
    long
     
    The value may indicate a suggestion for a logical component name, to be turned into a Spring bean in case of an autodetected component.
  • Element Details

    • value

      String value
      The value may indicate a suggestion for a logical component name, to be turned into a Spring bean in case of an autodetected component.
      Returns:
      the suggested component name, if any
      Default:
      ""
    • gigaSpace

      String gigaSpace
      The name of the bean that is the GigaSpace this container will use.

      Note, this is optional. If there is only one GigaSpace defined in the application context, it will be used.

      Default:
      ""
    • concurrentConsumers

      int concurrentConsumers
      Specify the number of concurrent consumers to create. Default is 1.

      Specifying a higher value for this setting will increase the standard level of scheduled concurrent consumers at runtime: This is effectively the minimum number of concurrent consumers which will be scheduled at any given time. This is a static setting; for dynamic scaling, consider specifying the "maxConcurrentConsumers" setting instead.

      Raising the number of concurrent consumers is recommended in order to scale the consumption of events. However, note that any ordering guarantees are lost once multiple consumers are registered. In general, stick with 1 consumer for low-volume events.

      See Also:
      Default:
      1
    • maxConcurrentConsumers

      int maxConcurrentConsumers
      Specify the maximum number of concurrent consumers to create. Default is 1.

      If this setting is higher than "concurrentConsumers", the listener container will dynamically schedule new consumers at runtime, provided that enough incoming messages are encountered. Once the load goes down again, the number of consumers will be reduced to the standard level ("concurrentConsumers") again.

      Raising the number of concurrent consumers is recommended in order to scale the consumption of events. However, note that any ordering guarantees are lost once multiple consumers are registered. In general, stick with 1 consumer for low-volume events.

      See Also:
      Default:
      1
    • receiveTimeout

      long receiveTimeout
      Set the timeout to use for receive calls, in milliseconds. The default is 60000 ms, that is, 1 minute.

      NOTE: This value needs to be smaller than the transaction timeout used by the transaction manager (in the appropriate unit, of course).

      See Also:
      Default:
      60000L
    • performSnapshot

      boolean performSnapshot
      If set to true will perform prepareTemplate operation on the provided template before invoking registering as an event listener.
      See Also:
      Default:
      true
    • autoStart

      boolean autoStart
      Set whether this container will start once instantiated.

      Default is true. Set to false in order for this container to be started using AbstractEventListenerContainer.start().

      Default:
      true
    • passArrayAsIs

      boolean passArrayAsIs
      If set to true will pass an array value returned from a ReceiveOperationHandler directly to the listener without "serializing" it as one array element each time. Defaults to false
      See Also:
      Default:
      false
    • recoveryInterval

      long recoveryInterval
      See Also:
      Default:
      5000L
    • keepAliveRetries

      int keepAliveRetries
      See Also:
      Default:
      3