Class: LogStash::Inputs::Jms::HeadersMapper

Inherits:
Object
  • Object
show all
Defined in:
lib/logstash/inputs/jms.rb

Overview

Maps JMS headers names (similar to JMS gem’s Message#attributes extension)

Direct Known Subclasses

LegacyHeadersMapper

Instance Method Summary collapse

Instance Method Details

#call(msg) ⇒ Hash

Parameters:

  • msg (javax.jms.Message)

Returns:

  • (Hash)


463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
# File 'lib/logstash/inputs/jms.rb', line 463

def call(msg)
  map = {
    'jms_message_id' => msg.getJMSMessageID, # String
    'jms_timestamp' => msg.getJMSTimestamp, # long
    'jms_expiration' => msg.getJMSExpiration, # long
    'jms_priority' => msg.getJMSPriority, # int (0-9)
    'jms_type' => msg.getJMSType, # String
    'jms_redelivered' => msg.getJMSRedelivered, # boolean
  }

  correlation_id = msg.getJMSCorrelationID # String
  map['jms_correlation_id'] = correlation_id unless correlation_id.nil?

  delivery_mode = jms_delivery_mode(msg)
  map['jms_delivery_mode'] = delivery_mode unless delivery_mode.nil?

  destination = msg.getJMSDestination # javax.jms.Destination
  map['jms_destination'] = destination.to_string unless destination.nil?

  reply_to = msg.getJMSReplyTo # javax.jms.Destination
  map['jms_reply_to'] = reply_to.to_string unless reply_to.nil?

  map
end