Module: javaxjavax.jms::Message
- Defined in:
- lib/jms/javax_jms_message.rb
Overview
Extend JMS Message Interface with Ruby methods
A Message is the item that can be put on a queue, or obtained from a queue.
A Message consists of 3 major parts:
- Header
Accessible as attributes of the Message class
- Properties
Accessible via [] and []= methods
- Data
The actual data portion of the
See the specific types for details on how to access the data
portion of the
For further help on javax.jms.Message
http://download.oracle.com/javaee/6/api/index.html?javax/jms/Message.html
Interface javax.jms.Message
Instance Method Summary collapse
-
#[](key) ⇒ Object
Get the value of a property.
-
#[]=(key, value) ⇒ Object
Set a property.
-
#attributes ⇒ Object
Return the attributes (header fields) of the message as a Hash.
-
#include?(key) ⇒ Boolean
Does message include specified property?.
- #inspect ⇒ Object
-
#jms_correlation_id ⇒ Object
Returns the Message correlation ID as a String The resulting string may contain nulls.
-
#jms_correlation_id=(correlation_id) ⇒ Object
Set the Message correlation ID correlation_id: String Also supports embedded nulls within the correlation id.
-
#jms_delivery_mode ⇒ Object
Return the JMS Delivery Mode as a symbol :persistent :non_persistent other: Value from javax.jms.DeliveryMode.
-
#jms_delivery_mode=(mode) ⇒ Object
Set the JMS Delivery Mode Valid values for mode :persistent :non_persistent other: Any constant from javax.jms.DeliveryMode.
-
#jms_destination ⇒ Object
Returns the Message Destination Instance of javax.jms.Destination.
-
#jms_destination=(destination) ⇒ Object
Set the Message Destination jms_destination: Must be an instance of javax.jms.Destination.
-
#jms_expiration ⇒ Object
Return the message expiration value as an Integer.
-
#jms_expiration=(expiration) ⇒ Object
Set the Message expiration value expiration: Integer.
-
#jms_message_id ⇒ Object
Returns the Message ID as a String The resulting string may contain embedded nulls.
-
#jms_message_id=(message_id) ⇒ Object
Set the Message correlation ID message_id: String Also supports nulls within the message id.
-
#jms_priority ⇒ Object
Returns the Message Priority level as an Integer.
-
#jms_priority=(priority) ⇒ Object
Set the Message priority level priority: Integer.
-
#jms_redelivered=(bool) ⇒ Object
Set whether the Message was redelivered bool: Boolean.
-
#jms_redelivered? ⇒ Boolean
Indicates whether the Message was redelivered?.
-
#jms_reply_to ⇒ Object
Returns the Message reply to Destination Instance of javax.jms.Destination.
-
#jms_reply_to=(reply_to) ⇒ Object
Set the Message reply to Destination reply_to: Must be an instance of javax.jms.Destination.
-
#jms_timestamp ⇒ Object
Returns the Message timestamp as Java Timestamp Integer TODO Return Ruby Time object?.
-
#jms_timestamp=(timestamp) ⇒ Object
Set the Message reply to Destination timestamp: Must be an Java Timestamp Integer TODO Support Ruby Time.
-
#jms_type ⇒ Object
Returns the Message type supplied by the client when the message was sent.
-
#jms_type=(type) ⇒ Object
Sets the Message type type: String.
-
#persistent? ⇒ Boolean
Is the message persistent?.
-
#properties ⇒ Object
Return Properties as a hash.
-
#properties=(h) ⇒ Object
Set Properties from an existing hash.
-
#properties_each_pair(&proc) ⇒ Object
Return each name value pair.
Instance Method Details
#[](key) ⇒ Object
Get the value of a property
222 223 224 |
# File 'lib/jms/javax_jms_message.rb', line 222 def [](key) getObjectProperty key.to_s end |
#[]=(key, value) ⇒ Object
Set a property
227 228 229 |
# File 'lib/jms/javax_jms_message.rb', line 227 def []=(key, value) setObjectProperty(key.to_s, value) end |
#attributes ⇒ Object
Return the attributes (header fields) of the message as a Hash
204 205 206 207 208 209 210 211 212 213 214 215 216 217 |
# File 'lib/jms/javax_jms_message.rb', line 204 def attributes { :jms_correlation_id => jms_correlation_id, :jms_delivery_mode => jms_delivery_mode, :jms_destination => jms_destination, :jms_expiration => jms_expiration, :jms_message_id => , :jms_priority => jms_priority, :jms_redelivered => jms_redelivered?, :jms_reply_to => jms_reply_to, :jms_timestamp => , :jms_type => jms_type, } end |
#include?(key) ⇒ Boolean
Does message include specified property?
232 233 234 235 |
# File 'lib/jms/javax_jms_message.rb', line 232 def include?(key) # Ensure a Ruby true is returned property_exists key == true end |
#inspect ⇒ Object
260 261 262 |
# File 'lib/jms/javax_jms_message.rb', line 260 def inspect "#{self.class.name}: #{data}\nAttributes: #{attributes.inspect}\nProperties: #{properties.inspect}" end |
#jms_correlation_id ⇒ Object
Returns the Message correlation ID as a String The resulting string may contain nulls
98 99 100 |
# File 'lib/jms/javax_jms_message.rb', line 98 def jms_correlation_id String.from_java_bytes(getJMSCorrelationIDAsBytes) if getJMSCorrelationIDAsBytes end |
#jms_correlation_id=(correlation_id) ⇒ Object
Set the Message correlation ID
correlation_id: String
Also supports embedded nulls within the correlation id
105 106 107 |
# File 'lib/jms/javax_jms_message.rb', line 105 def jms_correlation_id=(correlation_id) setJMSCorrelationIDAsBytes(correlation_id.nil? ? nil : correlation_id.to_java_bytes) end |
#jms_delivery_mode ⇒ Object
Return the JMS Delivery Mode as a symbol
:persistent
:non_persistent
other: Value from javax.jms.DeliveryMode
63 64 65 66 67 68 69 70 71 72 |
# File 'lib/jms/javax_jms_message.rb', line 63 def jms_delivery_mode case getJMSDeliveryMode when javax.jms.DeliveryMode::PERSISTENT :persistent when javax.jms.DeliveryMode::NON_PERSISTENT :non_persistent else getJMSDeliveryMode end end |
#jms_delivery_mode=(mode) ⇒ Object
Set the JMS Delivery Mode Valid values for mode
:persistent
:non_persistent
other: Any constant from javax.jms.DeliveryMode
79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/jms/javax_jms_message.rb', line 79 def jms_delivery_mode=(mode) val = case mode when :persistent javax.jms.DeliveryMode::PERSISTENT when :non_persistent javax.jms.DeliveryMode::NON_PERSISTENT else mode end self.setJMSDeliveryMode(val) end |
#jms_destination ⇒ Object
Returns the Message Destination
Instance of javax.jms.Destination
111 112 113 |
# File 'lib/jms/javax_jms_message.rb', line 111 def jms_destination getJMSDestination end |
#jms_destination=(destination) ⇒ Object
Set the Message Destination
jms_destination: Must be an instance of javax.jms.Destination
117 118 119 |
# File 'lib/jms/javax_jms_message.rb', line 117 def jms_destination=(destination) setJMSDestination(destination) end |
#jms_expiration ⇒ Object
Return the message expiration value as an Integer
122 123 124 |
# File 'lib/jms/javax_jms_message.rb', line 122 def jms_expiration getJMSExpiration end |
#jms_expiration=(expiration) ⇒ Object
Set the Message expiration value
expiration: Integer
128 129 130 |
# File 'lib/jms/javax_jms_message.rb', line 128 def jms_expiration=(expiration) setJMSExpiration(expiration) end |
#jms_message_id ⇒ Object
Returns the Message ID as a String The resulting string may contain embedded nulls
134 135 136 |
# File 'lib/jms/javax_jms_message.rb', line 134 def getJMSMessageID end |
#jms_message_id=(message_id) ⇒ Object
Set the Message correlation ID
message_id: String
Also supports nulls within the message id
141 142 143 |
# File 'lib/jms/javax_jms_message.rb', line 141 def () setJMSMessageID() end |
#jms_priority ⇒ Object
Returns the Message Priority level as an Integer
146 147 148 |
# File 'lib/jms/javax_jms_message.rb', line 146 def jms_priority getJMSPriority end |
#jms_priority=(priority) ⇒ Object
Set the Message priority level
priority: Integer
152 153 154 |
# File 'lib/jms/javax_jms_message.rb', line 152 def jms_priority=(priority) setJMSPriority(priority) end |
#jms_redelivered=(bool) ⇒ Object
Set whether the Message was redelivered
bool: Boolean
163 164 165 |
# File 'lib/jms/javax_jms_message.rb', line 163 def jms_redelivered=(bool) setJMSPriority(bool) end |
#jms_redelivered? ⇒ Boolean
Indicates whether the Message was redelivered?
157 158 159 |
# File 'lib/jms/javax_jms_message.rb', line 157 def jms_redelivered? getJMSRedelivered end |
#jms_reply_to ⇒ Object
Returns the Message reply to Destination
Instance of javax.jms.Destination
169 170 171 |
# File 'lib/jms/javax_jms_message.rb', line 169 def jms_reply_to getJMSReplyTo end |
#jms_reply_to=(reply_to) ⇒ Object
Set the Message reply to Destination
reply_to: Must be an instance of javax.jms.Destination
175 176 177 |
# File 'lib/jms/javax_jms_message.rb', line 175 def jms_reply_to=(reply_to) setJMSReplyTo(reply_to) end |
#jms_timestamp ⇒ Object
Returns the Message timestamp as Java Timestamp Integer TODO Return Ruby Time object?
181 182 183 |
# File 'lib/jms/javax_jms_message.rb', line 181 def getJMSTimestamp end |
#jms_timestamp=(timestamp) ⇒ Object
Set the Message reply to Destination
timestamp: Must be an Java Timestamp Integer
TODO Support Ruby Time
188 189 190 |
# File 'lib/jms/javax_jms_message.rb', line 188 def () setJMSTimestamp() end |
#jms_type ⇒ Object
Returns the Message type supplied by the client when the message was sent
193 194 195 |
# File 'lib/jms/javax_jms_message.rb', line 193 def jms_type getJMSType end |
#jms_type=(type) ⇒ Object
Sets the Message type
type: String
199 200 201 |
# File 'lib/jms/javax_jms_message.rb', line 199 def jms_type=(type) setJMSType(type) end |
#persistent? ⇒ Boolean
Is the message persistent?
92 93 94 |
# File 'lib/jms/javax_jms_message.rb', line 92 def persistent? getJMSDeliveryMode == javax.jms.DeliveryMode::PERSISTENT end |
#properties ⇒ Object
Return Properties as a hash
238 239 240 241 242 |
# File 'lib/jms/javax_jms_message.rb', line 238 def properties h = {} properties_each_pair {|k,v| h[k]=v} h end |
#properties=(h) ⇒ Object
Set Properties from an existing hash
245 246 247 248 249 |
# File 'lib/jms/javax_jms_message.rb', line 245 def properties=(h) clear_properties h.each_pair {|k,v| setObjectProperty(k.to_s, v)} h end |
#properties_each_pair(&proc) ⇒ Object
Return each name value pair
252 253 254 255 256 257 258 |
# File 'lib/jms/javax_jms_message.rb', line 252 def properties_each_pair(&proc) enum = getPropertyNames while enum.has_more_elements key = enum.next_element proc.call key, getObjectProperty(key) end end |