jms-dequeue

Allows you to perform a dequeue from a JMS destination.

JMS message properties are mapped to GVBuffer fields:

Field        JMS
_______________________
system      SYSTEM
service     SERVICE
id          ID
retCode     RET_CODE
properties  p$<property name> (only GVBuffer properties with names that 
                               are valid Java identifier are managed)

Fixed attributes:

  • type: Unmodifiable. Used by GreenVulcanoESB factory framework.
  • class: Unmodifiable. Used by GreenVulcanoESB factory framework.

Implied attributes:

  • use-vcl-pool: Indicates whether to use connection pooling capabilities of the VCL. Set to false if the container provides pooling capabilities. Default: true.
  • ref-dp: Name of Data Provider to use. This Data Provider will receive in input a JMS Message and must return the object to be inserted in GVBuffer.
  • receive-timeout: Time-out duration in ms. This parameter is meaningful only if ‘receive-type’ is set to ‘time out’. If ‘receive-type’ is set to ‘time out’ and ‘receive-timeout’ is not defined, then is assumed a timeout of 1000 ms.
  • invalidate-conn-on-pool-insertion: Indicates whether connections should be marked as invalid before reinsertion on the pool. Is significant only if the pooling feature is enabled. Default: false.
  • decorate-gvbuffer: If true the output GVBuffer is enriched with the received message properties value. Default: true.
  • durable-subscriber: Specifies the name of the durable subscriber. Durable subscriptions provide the receipt of all messages sent to the topic, even if the subscribers are not running when the messages are sent.
  • dump-message: If true the dequeued message is dumped on log file, at DEBUG severity level. Default false.
  • no-local: Avoid receiving local messages. Reserved for future use.
  • keep-input-extra-properties: Specifies if the dequeue must keep input GVBuffer properties, not present in the JMS message, in the output GVBuffer. Default: false.

Required attributes:

  • connection-factory: JMS connection factory JNDI name.
  • receive-type: Allows you to specify whether the receipt should be made in blocking mode, non-blocking mode, or with timeout.
    • non-blocking: is performed a non-blocking receive. If a message is already queued then it’s immediately read. If there are no messages available then GreenVulcanoESB throws a time-out exception.
    • timeout: is performed a timeout receive. GreenVulcanoESB wait for the specified time. If a message is queued then it’s immediately read. If there are no messages available then GreenVulcanoESB throws a time-out exception.
    • blocking: the current thread blocks indefinitely until a message arrives. Use with caution.
  • destination-name: Destination JNDI name. Set appropriately the ‘destination-type’ parameter.
  • name: Operation name. Used in the ‘Flow’ section to associate workflow nodes to VCL operations.

Selective attributes:

  • destination-type: Destination type. Default: queue.
  • receive-timeout-overridable: Specifies whether the value set to ‘receive-timeout’ can be overwritten at runtime. Reserved for future use.
  • acknowledge-type: In transactional dequeue acknowledgment is managed by the application server. This parameter is meaningful only for non-transactional dequeue and can take the following values:
    • ‘auto-acknowledge’: the acknowledgment from application server is automatically given upon delivery of the message.
    • ‘client-acknowledge’: the client must explicitly acknowledgment the message.
    • ‘dups-ok-acknowledge’: allows the JMS server to perform optimizations on the logic of acknowledgment messages, but can cause the redelivery of messages. Should only be used with systems that are tolerant to duplicated message. Default: auto-acknowledge.
  • transacted: Specifies whether the dequeue has to open his own transaction or fall in a global transaction.
    • ‘true’ open his own transaction and do not fall in the global transaction.
    • ‘false’ fall in the active global transaction. Must be used a XA connection factory. This parameter is not relevant if the connection factory isn’t XA. Default: false.

Subelements

jms-dequeue has the followong subelements:

  • Description (optional).
  • JNDIHelper (optional).
  • message-selector (optional).
  • ServiceAlias (optional).
  • XAHelper (optional).

message-selector

Allows you to specify a selector for receiving messages. See the JMS documentation for the selector syntax. The properties (and their types) provided by GreenVulcanoESB for selectors are:

  • SYSTEM (String)
  • SERVICE (String)
  • ID (String)
  • RETCODE (int) Even GVBuffer properties are present in the form of message properties. The properties are all string and their names have the prefix ‘$p’ (only GVBuffer properties with names that are valid Java identifier are managed). For example, a GVBuffer property named PROPERTY will be identified by a property name p$PROPERTY. As GreenVulcanoESB can in turn generate selectors, you can define how they should be combined with the selector specified by this element, see ‘combining’ attribute.

Selective attributes:

  • combining: GreenVulcanoESB can dynamically generate selectors. This parameter defines how the dynamicselector should be combined with the selector configured to obtain the actual selector used for reception of JMS message. Can take the following values:
    • dynamic-and-configured (DYNAMIC) AND (CONFIGURED)
    • dynamic-or-configured (DYNAMIC) OR (CONFIGURED)
    • dynamic-only DYNAMIC
    • configured-only CONFIGURED
    • configured-if-no-dynamic DYNAMIC != null ? DYNAMIC : CONFIGURED.

XAHelper

This element can be used for authomatic enlist and delist of XA resource in a distributed transaction.

Selective attributes:

  • auto-enlist: If true, the associated XA resource are authomatically enlisted into or delisted from the distributed transaction.
  • transaction-status: Identifies the transaction phase into which execute the delist.

Subelements

XAHelper has the followong subelements:

  • Description (optional).
  • JNDIHelper (optional).