jruby-jms 0.10.2 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/HISTORY.md +15 -0
- data/README.md +27 -28
- data/Rakefile +7 -1
- data/doc/classes/JMS.html +265 -0
- data/doc/classes/JMS/BytesMessage.html +215 -0
- data/doc/classes/JMS/Connection.html +1145 -0
- data/doc/classes/JMS/MapMessage.html +333 -0
- data/doc/classes/JMS/Message.html +1085 -0
- data/doc/classes/JMS/MessageConsumer.html +316 -0
- data/doc/classes/JMS/MessageListenerImpl.html +262 -0
- data/doc/classes/JMS/ObjectMessage.html +170 -0
- data/doc/classes/JMS/OracleAQConnectionFactory.html +184 -0
- data/doc/classes/JMS/QueueBrowser.html +155 -0
- data/doc/classes/JMS/Session.html +947 -0
- data/doc/classes/JMS/SessionPool.html +411 -0
- data/doc/classes/JMS/TextMessage.html +194 -0
- data/doc/created.rid +1 -0
- data/doc/files/README_md.html +440 -0
- data/doc/files/lib/jms/bytes_message_rb.html +122 -0
- data/doc/files/lib/jms/connection_rb.html +140 -0
- data/doc/files/lib/jms/imports_rb.html +108 -0
- data/doc/files/lib/jms/logging_rb.html +129 -0
- data/doc/files/lib/jms/map_message_rb.html +122 -0
- data/doc/files/lib/jms/message_consumer_rb.html +122 -0
- data/doc/files/lib/jms/message_listener_impl_rb.html +122 -0
- data/doc/files/lib/jms/message_rb.html +122 -0
- data/doc/files/lib/jms/object_message_rb.html +122 -0
- data/doc/files/lib/jms/oracle_a_q_connection_factory_rb.html +122 -0
- data/doc/files/lib/jms/queue_browser_rb.html +122 -0
- data/doc/files/lib/jms/session_pool_rb.html +108 -0
- data/doc/files/lib/jms/session_rb.html +164 -0
- data/doc/files/lib/jms/text_message_rb.html +122 -0
- data/doc/files/lib/jms_rb.html +131 -0
- data/doc/fr_class_index.html +39 -0
- data/doc/fr_file_index.html +42 -0
- data/doc/fr_method_index.html +120 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/examples/advanced/session_pool.rb +37 -0
- data/examples/client-server/replier.rb +29 -0
- data/examples/client-server/requestor.rb +40 -0
- data/examples/jms.yml +85 -9
- data/examples/performance/consumer.rb +6 -8
- data/examples/performance/producer.rb +10 -10
- data/examples/producer-consumer/browser.rb +24 -0
- data/examples/{consumer.rb → producer-consumer/consumer.rb} +5 -4
- data/examples/producer-consumer/consumer_async.rb +30 -0
- data/examples/{producer.rb → producer-consumer/producer.rb} +5 -3
- data/examples/publish-subscribe/publish.rb +24 -0
- data/examples/publish-subscribe/subscribe.rb +31 -0
- data/lib/jms/bytes_message.rb +52 -0
- data/lib/jms/connection.rb +170 -162
- data/lib/jms/imports.rb +21 -0
- data/lib/jms/logging.rb +17 -1
- data/lib/jms/{javax_jms_map_message.rb → map_message.rb} +2 -2
- data/lib/jms/message.rb +285 -0
- data/lib/jms/{javax_jms_message_consumer.rb → message_consumer.rb} +6 -3
- data/lib/jms/{message_listener.rb → message_listener_impl.rb} +3 -3
- data/lib/jms/{javax_jms_object_message.rb → object_message.rb} +1 -1
- data/lib/jms/oracle_a_q_connection_factory.rb +35 -0
- data/lib/jms/{javax_jms_queue_browser.rb → queue_browser.rb} +5 -4
- data/lib/jms/{javax_jms_session.rb → session.rb} +23 -25
- data/lib/jms/session_pool.rb +148 -0
- data/lib/jms/{javax_jms_text_message.rb → text_message.rb} +1 -1
- data/test/connection_test.rb +31 -29
- data/test/jms.yml +8 -9
- data/test/message_test.rb +29 -29
- data/test/session_test.rb +39 -39
- metadata +62 -22
- data/lib/jms/javax_jms_message.rb +0 -264
@@ -0,0 +1,947 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Module: JMS::Session</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<table class="header-table">
|
51
|
+
<tr class="top-aligned-row">
|
52
|
+
<td><strong>Module</strong></td>
|
53
|
+
<td class="class-name-in-header">JMS::Session</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../../files/lib/jms/session_rb.html">
|
59
|
+
lib/jms/session.rb
|
60
|
+
</a>
|
61
|
+
<br />
|
62
|
+
</td>
|
63
|
+
</tr>
|
64
|
+
|
65
|
+
</table>
|
66
|
+
</div>
|
67
|
+
<!-- banner header -->
|
68
|
+
|
69
|
+
<div id="bodyContent">
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
<div id="contextContent">
|
74
|
+
|
75
|
+
<div id="description">
|
76
|
+
<p>
|
77
|
+
For each thread that will be processing messages concurrently a separate
|
78
|
+
session is required. All sessions can share a single connection to the same
|
79
|
+
<a href="../JMS.html">JMS</a> Provider.
|
80
|
+
</p>
|
81
|
+
<p>
|
82
|
+
Interface javax.jms.<a href="Session.html">Session</a>
|
83
|
+
</p>
|
84
|
+
<p>
|
85
|
+
See: <a
|
86
|
+
href="http://download.oracle.com/javaee/6/api/javax/jms/Session.html">download.oracle.com/javaee/6/api/javax/jms/Session.html</a>
|
87
|
+
</p>
|
88
|
+
<p>
|
89
|
+
Other methods still directly accessible through this class:
|
90
|
+
</p>
|
91
|
+
<p>
|
92
|
+
create_browser(<a href="Session.html#M000055">queue</a>, message_selector)
|
93
|
+
</p>
|
94
|
+
<pre>
|
95
|
+
Creates a QueueBrowser object to peek at the messages on the specified queue using a message selector.
|
96
|
+
</pre>
|
97
|
+
<p>
|
98
|
+
create_bytes_message()
|
99
|
+
</p>
|
100
|
+
<pre>
|
101
|
+
Creates a BytesMessage object
|
102
|
+
</pre>
|
103
|
+
<p>
|
104
|
+
create_consumer(<a href="Session.html#M000054">destination</a>)
|
105
|
+
</p>
|
106
|
+
<pre>
|
107
|
+
Creates a MessageConsumer for the specified destination
|
108
|
+
See: Connection::consumer
|
109
|
+
|
110
|
+
Example:
|
111
|
+
destination = session.create_destination(:queue_name => "MyQueue")
|
112
|
+
session.create_consumer(destination)
|
113
|
+
|
114
|
+
create_consumer(destination, message_selector)
|
115
|
+
Creates a MessageConsumer for the specified destination, using a message selector
|
116
|
+
|
117
|
+
create_consumer(destination, message_selector, boolean NoLocal)
|
118
|
+
Creates MessageConsumer for the specified destination, using a message selector
|
119
|
+
</pre>
|
120
|
+
<p>
|
121
|
+
create_durable_subscriber(Topic <a href="Session.html#M000057">topic</a>,
|
122
|
+
java.lang.String name)
|
123
|
+
</p>
|
124
|
+
<pre>
|
125
|
+
Creates a durable subscriber to the specified topic
|
126
|
+
</pre>
|
127
|
+
<p>
|
128
|
+
create_durable_subscriber(Topic <a href="Session.html#M000057">topic</a>,
|
129
|
+
java.lang.String name, java.lang.String messageSelector, boolean noLocal)
|
130
|
+
</p>
|
131
|
+
<pre>
|
132
|
+
Creates a durable subscriber to the specified topic, using a message selector and specifying whether messages published by its own connection should be delivered to it.
|
133
|
+
|
134
|
+
create_map_Message()
|
135
|
+
Creates a MapMessage object
|
136
|
+
|
137
|
+
create_message()
|
138
|
+
Creates a Message object
|
139
|
+
</pre>
|
140
|
+
<p>
|
141
|
+
create_object_message()
|
142
|
+
</p>
|
143
|
+
<pre>
|
144
|
+
Creates an ObjectMessage object
|
145
|
+
</pre>
|
146
|
+
<p>
|
147
|
+
create_object_message(java.io.Serializable object)
|
148
|
+
</p>
|
149
|
+
<pre>
|
150
|
+
Creates an initialized ObjectMessage object
|
151
|
+
|
152
|
+
create_producer(destination)
|
153
|
+
Creates a MessageProducer to send messages to the specified destination
|
154
|
+
</pre>
|
155
|
+
<p>
|
156
|
+
create_queue(queue_name)
|
157
|
+
</p>
|
158
|
+
<pre>
|
159
|
+
Creates a queue identity given a Queue name
|
160
|
+
</pre>
|
161
|
+
<p>
|
162
|
+
create_stream_message()
|
163
|
+
</p>
|
164
|
+
<pre>
|
165
|
+
Creates a StreamMessage object
|
166
|
+
|
167
|
+
create_temporary_queue()
|
168
|
+
Creates a TemporaryQueue object
|
169
|
+
|
170
|
+
create_temporary_topic()
|
171
|
+
Creates a TemporaryTopic object
|
172
|
+
|
173
|
+
create_text_message()
|
174
|
+
Creates a TextMessage object
|
175
|
+
|
176
|
+
create_text_message(text)
|
177
|
+
Creates an initialized TextMessage object
|
178
|
+
</pre>
|
179
|
+
<p>
|
180
|
+
create_topic(topic_name)
|
181
|
+
</p>
|
182
|
+
<pre>
|
183
|
+
Creates a topic identity given a Topic name
|
184
|
+
</pre>
|
185
|
+
<p>
|
186
|
+
acknowledge_mode()
|
187
|
+
</p>
|
188
|
+
<pre>
|
189
|
+
Returns the acknowledgement mode of the session
|
190
|
+
|
191
|
+
message_listener()
|
192
|
+
Returns the session's distinguished message listener (optional).
|
193
|
+
</pre>
|
194
|
+
<p>
|
195
|
+
transacted?
|
196
|
+
</p>
|
197
|
+
<pre>
|
198
|
+
Indicates whether the session is in transacted mode
|
199
|
+
</pre>
|
200
|
+
<p>
|
201
|
+
recover()
|
202
|
+
</p>
|
203
|
+
<pre>
|
204
|
+
Stops message delivery in this session, and restarts message delivery with the oldest unacknowledged message
|
205
|
+
</pre>
|
206
|
+
<p>
|
207
|
+
rollback()
|
208
|
+
</p>
|
209
|
+
<pre>
|
210
|
+
Rolls back any messages done in this transaction and releases any locks currently held
|
211
|
+
</pre>
|
212
|
+
<p>
|
213
|
+
message_listener=(MessageListener listener)
|
214
|
+
</p>
|
215
|
+
<pre>
|
216
|
+
Sets the session's distinguished message listener (optional)
|
217
|
+
</pre>
|
218
|
+
<p>
|
219
|
+
unsubscribe(name)
|
220
|
+
</p>
|
221
|
+
<pre>
|
222
|
+
Unsubscribes a durable subscription that has been created by a client
|
223
|
+
</pre>
|
224
|
+
<p>
|
225
|
+
Interface javax.jms.<a href="Session.html">Session</a>
|
226
|
+
</p>
|
227
|
+
|
228
|
+
</div>
|
229
|
+
|
230
|
+
|
231
|
+
</div>
|
232
|
+
|
233
|
+
<div id="method-list">
|
234
|
+
<h3 class="section-bar">Methods</h3>
|
235
|
+
|
236
|
+
<div class="name-list">
|
237
|
+
<a href="#M000063">browse</a>
|
238
|
+
<a href="#M000062">browser</a>
|
239
|
+
<a href="#M000061">consume</a>
|
240
|
+
<a href="#M000060">consumer</a>
|
241
|
+
<a href="#M000053">create_destination</a>
|
242
|
+
<a href="#M000054">destination</a>
|
243
|
+
<a href="#M000052">message</a>
|
244
|
+
<a href="#M000059">producer</a>
|
245
|
+
<a href="#M000055">queue</a>
|
246
|
+
<a href="#M000056">temporary_queue</a>
|
247
|
+
<a href="#M000058">temporary_topic</a>
|
248
|
+
<a href="#M000057">topic</a>
|
249
|
+
</div>
|
250
|
+
</div>
|
251
|
+
|
252
|
+
</div>
|
253
|
+
|
254
|
+
|
255
|
+
<!-- if includes -->
|
256
|
+
|
257
|
+
<div id="section">
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
|
266
|
+
<!-- if method_list -->
|
267
|
+
<div id="methods">
|
268
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
269
|
+
|
270
|
+
<div id="method-M000063" class="method-detail">
|
271
|
+
<a name="M000063"></a>
|
272
|
+
|
273
|
+
<div class="method-heading">
|
274
|
+
<a href="#M000063" class="method-signature">
|
275
|
+
<span class="method-name">browse</span><span class="method-args">(params={}, &proc)</span>
|
276
|
+
</a>
|
277
|
+
</div>
|
278
|
+
|
279
|
+
<div class="method-description">
|
280
|
+
<p>
|
281
|
+
Browse the specified <a href="Session.html#M000055">queue</a>, calling the
|
282
|
+
Proc supplied for each <a href="Session.html#M000052">message</a> found
|
283
|
+
</p>
|
284
|
+
<p>
|
285
|
+
Parameters:
|
286
|
+
</p>
|
287
|
+
<pre>
|
288
|
+
:queue_name => String: Name of the Queue to return
|
289
|
+
Symbol: :temporary => Create temporary queue
|
290
|
+
Mandatory unless :topic_name is supplied
|
291
|
+
Or,
|
292
|
+
:destination=> Explicit javaxJms::Destination to use
|
293
|
+
|
294
|
+
:selector => Filter which messages should be returned from the queue
|
295
|
+
Default: All messages
|
296
|
+
</pre>
|
297
|
+
<p><a class="source-toggle" href="#"
|
298
|
+
onclick="toggleCode('M000063-source');return false;">[Source]</a></p>
|
299
|
+
<div class="method-source-code" id="M000063-source">
|
300
|
+
<pre>
|
301
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 437</span>
|
302
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">browse</span>(<span class="ruby-identifier">params</span>={}, <span class="ruby-operator">&</span><span class="ruby-identifier">proc</span>)
|
303
|
+
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">browser</span>(<span class="ruby-identifier">params</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">each</span>(<span class="ruby-identifier">params</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">proc</span>)}
|
304
|
+
<span class="ruby-keyword kw">end</span>
|
305
|
+
</pre>
|
306
|
+
</div>
|
307
|
+
</div>
|
308
|
+
</div>
|
309
|
+
|
310
|
+
<div id="method-M000062" class="method-detail">
|
311
|
+
<a name="M000062"></a>
|
312
|
+
|
313
|
+
<div class="method-heading">
|
314
|
+
<a href="#M000062" class="method-signature">
|
315
|
+
<span class="method-name">browser</span><span class="method-args">(params, &proc)</span>
|
316
|
+
</a>
|
317
|
+
</div>
|
318
|
+
|
319
|
+
<div class="method-description">
|
320
|
+
<p>
|
321
|
+
Return a <a href="Session.html#M000062">browser</a> for the <a
|
322
|
+
href="Session.html#M000054">destination</a> A <a
|
323
|
+
href="Session.html#M000062">browser</a> can read messages non-destructively
|
324
|
+
from the <a href="Session.html#M000055">queue</a> It cannot <a
|
325
|
+
href="Session.html#M000063">browse</a> Topics!
|
326
|
+
</p>
|
327
|
+
<p>
|
328
|
+
Call the Proc if supplied, then automatically close the <a
|
329
|
+
href="Session.html#M000060">consumer</a>
|
330
|
+
</p>
|
331
|
+
<p>
|
332
|
+
Parameters:
|
333
|
+
</p>
|
334
|
+
<pre>
|
335
|
+
:queue_name => String: Name of the Queue to return
|
336
|
+
Symbol: :temporary => Create temporary queue
|
337
|
+
Mandatory unless :topic_name is supplied
|
338
|
+
Or,
|
339
|
+
:destination=> Explicit javaxJms::Destination to use
|
340
|
+
|
341
|
+
:selector => Filter which messages should be returned from the queue
|
342
|
+
Default: All messages
|
343
|
+
</pre>
|
344
|
+
<p><a class="source-toggle" href="#"
|
345
|
+
onclick="toggleCode('M000062-source');return false;">[Source]</a></p>
|
346
|
+
<div class="method-source-code" id="M000062-source">
|
347
|
+
<pre>
|
348
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 404</span>
|
349
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">browser</span>(<span class="ruby-identifier">params</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">proc</span>)
|
350
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-value str">"Session::browser requires a code block to be executed"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">proc</span>
|
351
|
+
|
352
|
+
<span class="ruby-identifier">destination</span> = <span class="ruby-identifier">create_destination</span>(<span class="ruby-identifier">params</span>)
|
353
|
+
<span class="ruby-identifier">b</span> = <span class="ruby-keyword kw">nil</span>
|
354
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:selector</span>]
|
355
|
+
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">create_browser</span>(<span class="ruby-identifier">destination</span>, <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:selector</span>])
|
356
|
+
<span class="ruby-keyword kw">else</span>
|
357
|
+
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">create_browser</span>(<span class="ruby-identifier">destination</span>)
|
358
|
+
<span class="ruby-keyword kw">end</span>
|
359
|
+
|
360
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">proc</span>
|
361
|
+
<span class="ruby-keyword kw">begin</span>
|
362
|
+
<span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">b</span>)
|
363
|
+
<span class="ruby-keyword kw">ensure</span>
|
364
|
+
<span class="ruby-identifier">b</span>.<span class="ruby-identifier">close</span>
|
365
|
+
<span class="ruby-identifier">b</span> = <span class="ruby-keyword kw">nil</span>
|
366
|
+
<span class="ruby-keyword kw">end</span>
|
367
|
+
<span class="ruby-keyword kw">end</span>
|
368
|
+
<span class="ruby-identifier">b</span>
|
369
|
+
<span class="ruby-keyword kw">end</span>
|
370
|
+
</pre>
|
371
|
+
</div>
|
372
|
+
</div>
|
373
|
+
</div>
|
374
|
+
|
375
|
+
<div id="method-M000061" class="method-detail">
|
376
|
+
<a name="M000061"></a>
|
377
|
+
|
378
|
+
<div class="method-heading">
|
379
|
+
<a href="#M000061" class="method-signature">
|
380
|
+
<span class="method-name">consume</span><span class="method-args">(params, &proc)</span>
|
381
|
+
</a>
|
382
|
+
</div>
|
383
|
+
|
384
|
+
<div class="method-description">
|
385
|
+
<p>
|
386
|
+
Consume all messages for the <a href="Session.html#M000054">destination</a>
|
387
|
+
A <a href="Session.html#M000060">consumer</a> can read messages from the <a
|
388
|
+
href="Session.html#M000055">queue</a> or <a
|
389
|
+
href="Session.html#M000057">topic</a>
|
390
|
+
</p>
|
391
|
+
<p>
|
392
|
+
Parameters:
|
393
|
+
</p>
|
394
|
+
<pre>
|
395
|
+
:queue_name => String: Name of the Queue to return
|
396
|
+
Symbol: :temporary => Create temporary queue
|
397
|
+
Mandatory unless :topic_name is supplied
|
398
|
+
Or,
|
399
|
+
:topic_name => String: Name of the Topic to write to or subscribe to
|
400
|
+
Symbol: :temporary => Create temporary topic
|
401
|
+
Mandatory unless :queue_name is supplied
|
402
|
+
Or,
|
403
|
+
:destination=> Explicit javaxJms::Destination to use
|
404
|
+
|
405
|
+
:selector => Filter which messages should be returned from the queue
|
406
|
+
Default: All messages
|
407
|
+
:no_local => Determine whether messages published by its own connection
|
408
|
+
should be delivered to it
|
409
|
+
Default: false
|
410
|
+
|
411
|
+
:timeout Follows the rules for MQSeries:
|
412
|
+
-1 : Wait forever
|
413
|
+
0 : Return immediately if no message is available
|
414
|
+
x : Wait for x milli-seconds for a message to be received from the broker
|
415
|
+
Note: Messages may still be on the queue, but the broker has not supplied any messages
|
416
|
+
in the time interval specified
|
417
|
+
Default: 0
|
418
|
+
</pre>
|
419
|
+
<p><a class="source-toggle" href="#"
|
420
|
+
onclick="toggleCode('M000061-source');return false;">[Source]</a></p>
|
421
|
+
<div class="method-source-code" id="M000061-source">
|
422
|
+
<pre>
|
423
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 380</span>
|
424
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">consume</span>(<span class="ruby-identifier">params</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">proc</span>)
|
425
|
+
<span class="ruby-identifier">c</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">consumer</span>(<span class="ruby-identifier">params</span>)
|
426
|
+
<span class="ruby-keyword kw">begin</span>
|
427
|
+
<span class="ruby-identifier">c</span>.<span class="ruby-identifier">each</span>(<span class="ruby-identifier">params</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">proc</span>)
|
428
|
+
<span class="ruby-keyword kw">ensure</span>
|
429
|
+
<span class="ruby-identifier">c</span>.<span class="ruby-identifier">close</span>
|
430
|
+
<span class="ruby-keyword kw">end</span>
|
431
|
+
<span class="ruby-keyword kw">end</span>
|
432
|
+
</pre>
|
433
|
+
</div>
|
434
|
+
</div>
|
435
|
+
</div>
|
436
|
+
|
437
|
+
<div id="method-M000060" class="method-detail">
|
438
|
+
<a name="M000060"></a>
|
439
|
+
|
440
|
+
<div class="method-heading">
|
441
|
+
<a href="#M000060" class="method-signature">
|
442
|
+
<span class="method-name">consumer</span><span class="method-args">(params, &proc)</span>
|
443
|
+
</a>
|
444
|
+
</div>
|
445
|
+
|
446
|
+
<div class="method-description">
|
447
|
+
<p>
|
448
|
+
Return a <a href="Session.html#M000060">consumer</a> for the <a
|
449
|
+
href="Session.html#M000054">destination</a> A <a
|
450
|
+
href="Session.html#M000060">consumer</a> can read messages from the <a
|
451
|
+
href="Session.html#M000055">queue</a> or <a
|
452
|
+
href="Session.html#M000057">topic</a>
|
453
|
+
</p>
|
454
|
+
<p>
|
455
|
+
Call the Proc if supplied, then automatically close the <a
|
456
|
+
href="Session.html#M000060">consumer</a>
|
457
|
+
</p>
|
458
|
+
<p>
|
459
|
+
Parameters:
|
460
|
+
</p>
|
461
|
+
<pre>
|
462
|
+
:queue_name => String: Name of the Queue to return
|
463
|
+
Symbol: :temporary => Create temporary queue
|
464
|
+
Mandatory unless :topic_name is supplied
|
465
|
+
Or,
|
466
|
+
:topic_name => String: Name of the Topic to write to or subscribe to
|
467
|
+
Symbol: :temporary => Create temporary topic
|
468
|
+
Mandatory unless :queue_name is supplied
|
469
|
+
Or,
|
470
|
+
:destination=> Explicit javaxJms::Destination to use
|
471
|
+
|
472
|
+
:selector => Filter which messages should be returned from the queue
|
473
|
+
Default: All messages
|
474
|
+
:no_local => Determine whether messages published by its own connection
|
475
|
+
should be delivered to it
|
476
|
+
Default: false
|
477
|
+
</pre>
|
478
|
+
<p><a class="source-toggle" href="#"
|
479
|
+
onclick="toggleCode('M000060-source');return false;">[Source]</a></p>
|
480
|
+
<div class="method-source-code" id="M000060-source">
|
481
|
+
<pre>
|
482
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 330</span>
|
483
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">consumer</span>(<span class="ruby-identifier">params</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">proc</span>)
|
484
|
+
<span class="ruby-identifier">destination</span> = <span class="ruby-identifier">create_destination</span>(<span class="ruby-identifier">params</span>)
|
485
|
+
<span class="ruby-identifier">c</span> = <span class="ruby-keyword kw">nil</span>
|
486
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:no_local</span>]
|
487
|
+
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">create_consumer</span>(<span class="ruby-identifier">destination</span>, <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:selector</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>, <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:no_local</span>])
|
488
|
+
<span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:selector</span>]
|
489
|
+
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">create_consumer</span>(<span class="ruby-identifier">destination</span>, <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:selector</span>])
|
490
|
+
<span class="ruby-keyword kw">else</span>
|
491
|
+
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">create_consumer</span>(<span class="ruby-identifier">destination</span>)
|
492
|
+
<span class="ruby-keyword kw">end</span>
|
493
|
+
|
494
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">proc</span>
|
495
|
+
<span class="ruby-keyword kw">begin</span>
|
496
|
+
<span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">c</span>)
|
497
|
+
<span class="ruby-keyword kw">ensure</span>
|
498
|
+
<span class="ruby-identifier">c</span>.<span class="ruby-identifier">close</span>
|
499
|
+
<span class="ruby-identifier">c</span> = <span class="ruby-keyword kw">nil</span>
|
500
|
+
<span class="ruby-keyword kw">end</span>
|
501
|
+
<span class="ruby-keyword kw">end</span>
|
502
|
+
<span class="ruby-identifier">c</span>
|
503
|
+
<span class="ruby-keyword kw">end</span>
|
504
|
+
</pre>
|
505
|
+
</div>
|
506
|
+
</div>
|
507
|
+
</div>
|
508
|
+
|
509
|
+
<div id="method-M000053" class="method-detail">
|
510
|
+
<a name="M000053"></a>
|
511
|
+
|
512
|
+
<div class="method-heading">
|
513
|
+
<a href="#M000053" class="method-signature">
|
514
|
+
<span class="method-name">create_destination</span><span class="method-args">(params)</span>
|
515
|
+
</a>
|
516
|
+
</div>
|
517
|
+
|
518
|
+
<div class="method-description">
|
519
|
+
<p>
|
520
|
+
Create the <a href="Session.html#M000054">destination</a> based on the
|
521
|
+
parameter supplied
|
522
|
+
</p>
|
523
|
+
<p>
|
524
|
+
The idea behind this method is to allow the decision as to whether one is
|
525
|
+
sending to a <a href="Session.html#M000057">topic</a> or <a
|
526
|
+
href="Session.html#M000054">destination</a> to be transparent to the code.
|
527
|
+
The supplied parameters can be externalized into say a YAML file so that
|
528
|
+
today it writes to a <a href="Session.html#M000055">queue</a>, later it can
|
529
|
+
be changed to write to a <a href="Session.html#M000057">topic</a> so that
|
530
|
+
multiple parties can receive the same messages.
|
531
|
+
</p>
|
532
|
+
<p>
|
533
|
+
Note: For Temporary Queues and Topics, remember to delete them when done
|
534
|
+
</p>
|
535
|
+
<pre>
|
536
|
+
or just use ::destination instead with a block and it will take care
|
537
|
+
of deleting them for you
|
538
|
+
</pre>
|
539
|
+
<p>
|
540
|
+
To create a <a href="Session.html#M000055">queue</a>:
|
541
|
+
</p>
|
542
|
+
<pre>
|
543
|
+
session.create_destination(:queue_name => 'name of queue')
|
544
|
+
</pre>
|
545
|
+
<p>
|
546
|
+
To create a temporary <a href="Session.html#M000055">queue</a>:
|
547
|
+
</p>
|
548
|
+
<pre>
|
549
|
+
session.create_destination(:queue_name => :temporary)
|
550
|
+
</pre>
|
551
|
+
<p>
|
552
|
+
To create a <a href="Session.html#M000057">topic</a>:
|
553
|
+
</p>
|
554
|
+
<pre>
|
555
|
+
session.create_destination(:topic_name => 'name of queue')
|
556
|
+
</pre>
|
557
|
+
<p>
|
558
|
+
To create a temporary <a href="Session.html#M000057">topic</a>:
|
559
|
+
</p>
|
560
|
+
<pre>
|
561
|
+
session.create_destination(:topic_name => :temporary)
|
562
|
+
</pre>
|
563
|
+
<p>
|
564
|
+
Create the <a href="Session.html#M000054">destination</a> based on the
|
565
|
+
parameter supplied
|
566
|
+
</p>
|
567
|
+
<p>
|
568
|
+
Parameters:
|
569
|
+
</p>
|
570
|
+
<pre>
|
571
|
+
:queue_name => String: Name of the Queue to return
|
572
|
+
Symbol: :temporary => Create temporary queue
|
573
|
+
Mandatory unless :topic_name is supplied
|
574
|
+
Or,
|
575
|
+
:topic_name => String: Name of the Topic to write to or subscribe to
|
576
|
+
Symbol: :temporary => Create temporary topic
|
577
|
+
Mandatory unless :queue_name is supplied
|
578
|
+
Or,
|
579
|
+
:destination=> Explicit javaxJms::Destination to use
|
580
|
+
</pre>
|
581
|
+
<p>
|
582
|
+
Returns the result of the supplied block
|
583
|
+
</p>
|
584
|
+
<p><a class="source-toggle" href="#"
|
585
|
+
onclick="toggleCode('M000053-source');return false;">[Source]</a></p>
|
586
|
+
<div class="method-source-code" id="M000053-source">
|
587
|
+
<pre>
|
588
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 170</span>
|
589
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_destination</span>(<span class="ruby-identifier">params</span>)
|
590
|
+
<span class="ruby-comment cmt"># Allow a Java JMS destination object to be passed in</span>
|
591
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:destination</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:destination</span>] <span class="ruby-operator">&&</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:destination</span>].<span class="ruby-identifier">java_kind_of?</span>(<span class="ruby-constant">JMS</span><span class="ruby-operator">::</span><span class="ruby-constant">Destination</span>)
|
592
|
+
|
593
|
+
<span class="ruby-comment cmt"># :q_name is deprecated</span>
|
594
|
+
<span class="ruby-identifier">queue_name</span> = <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:queue_name</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:q_name</span>]
|
595
|
+
<span class="ruby-identifier">topic_name</span> = <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:topic_name</span>]
|
596
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-value str">"Missing mandatory parameter :queue_name or :topic_name to Session::producer, Session::consumer, or Session::browser"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">queue_name</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">topic_name</span>
|
597
|
+
|
598
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">queue_name</span>
|
599
|
+
<span class="ruby-identifier">queue_name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:temporary</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">create_temporary_queue</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">create_queue</span>(<span class="ruby-identifier">queue_name</span>)
|
600
|
+
<span class="ruby-keyword kw">else</span>
|
601
|
+
<span class="ruby-identifier">topic_name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:temporary</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">create_temporary_topic</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">create_topic</span>(<span class="ruby-identifier">topic_name</span>)
|
602
|
+
<span class="ruby-keyword kw">end</span>
|
603
|
+
<span class="ruby-keyword kw">end</span>
|
604
|
+
</pre>
|
605
|
+
</div>
|
606
|
+
</div>
|
607
|
+
</div>
|
608
|
+
|
609
|
+
<div id="method-M000054" class="method-detail">
|
610
|
+
<a name="M000054"></a>
|
611
|
+
|
612
|
+
<div class="method-heading">
|
613
|
+
<a href="#M000054" class="method-signature">
|
614
|
+
<span class="method-name">destination</span><span class="method-args">(params={}, &block)</span>
|
615
|
+
</a>
|
616
|
+
</div>
|
617
|
+
|
618
|
+
<div class="method-description">
|
619
|
+
<p>
|
620
|
+
Create a <a href="Session.html#M000055">queue</a> or <a
|
621
|
+
href="Session.html#M000057">topic</a> to send or receive messages from
|
622
|
+
</p>
|
623
|
+
<p>
|
624
|
+
A block must be supplied so that if it is a temporary <a
|
625
|
+
href="Session.html#M000057">topic</a> or <a
|
626
|
+
href="Session.html#M000055">queue</a> it will be deleted after the proc is
|
627
|
+
complete
|
628
|
+
</p>
|
629
|
+
<p>
|
630
|
+
To create a <a href="Session.html#M000055">queue</a>:
|
631
|
+
</p>
|
632
|
+
<pre>
|
633
|
+
session.destination(:queue_name => 'name of queue')
|
634
|
+
</pre>
|
635
|
+
<p>
|
636
|
+
To create a temporary <a href="Session.html#M000055">queue</a>:
|
637
|
+
</p>
|
638
|
+
<pre>
|
639
|
+
session.destination(:queue_name => :temporary)
|
640
|
+
</pre>
|
641
|
+
<p>
|
642
|
+
To create a <a href="Session.html#M000057">topic</a>:
|
643
|
+
</p>
|
644
|
+
<pre>
|
645
|
+
session.destination(:topic_name => 'name of queue')
|
646
|
+
</pre>
|
647
|
+
<p>
|
648
|
+
To create a temporary <a href="Session.html#M000057">topic</a>:
|
649
|
+
</p>
|
650
|
+
<pre>
|
651
|
+
session.destination(:topic_name => :temporary)
|
652
|
+
</pre>
|
653
|
+
<p>
|
654
|
+
Create the <a href="Session.html#M000054">destination</a> based on the
|
655
|
+
parameter supplied
|
656
|
+
</p>
|
657
|
+
<p>
|
658
|
+
Parameters:
|
659
|
+
</p>
|
660
|
+
<pre>
|
661
|
+
:queue_name => String: Name of the Queue to return
|
662
|
+
Symbol: :temporary => Create temporary queue
|
663
|
+
Mandatory unless :topic_name is supplied
|
664
|
+
Or,
|
665
|
+
:topic_name => String: Name of the Topic to write to or subscribe to
|
666
|
+
Symbol: :temporary => Create temporary topic
|
667
|
+
Mandatory unless :queue_name is supplied
|
668
|
+
Or,
|
669
|
+
:destination=> Explicit javaxJms::Destination to use
|
670
|
+
</pre>
|
671
|
+
<p>
|
672
|
+
Returns the result of the supplied block
|
673
|
+
</p>
|
674
|
+
<p><a class="source-toggle" href="#"
|
675
|
+
onclick="toggleCode('M000054-source');return false;">[Source]</a></p>
|
676
|
+
<div class="method-source-code" id="M000054-source">
|
677
|
+
<pre>
|
678
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 217</span>
|
679
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">destination</span>(<span class="ruby-identifier">params</span>={}, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
680
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-value str">"Missing mandatory Block when calling JMS::Session#destination"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block</span>
|
681
|
+
<span class="ruby-identifier">dest</span> = <span class="ruby-keyword kw">nil</span>
|
682
|
+
<span class="ruby-keyword kw">begin</span>
|
683
|
+
<span class="ruby-identifier">dest</span> = <span class="ruby-identifier">create_destination</span>(<span class="ruby-identifier">params</span>)
|
684
|
+
<span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">dest</span>)
|
685
|
+
<span class="ruby-keyword kw">ensure</span>
|
686
|
+
<span class="ruby-comment cmt"># Delete Temporary Queue / Topic</span>
|
687
|
+
<span class="ruby-identifier">dest</span>.<span class="ruby-identifier">delete</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dest</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">dest</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:delete</span>)
|
688
|
+
<span class="ruby-keyword kw">end</span>
|
689
|
+
<span class="ruby-keyword kw">end</span>
|
690
|
+
</pre>
|
691
|
+
</div>
|
692
|
+
</div>
|
693
|
+
</div>
|
694
|
+
|
695
|
+
<div id="method-M000052" class="method-detail">
|
696
|
+
<a name="M000052"></a>
|
697
|
+
|
698
|
+
<div class="method-heading">
|
699
|
+
<a href="#M000052" class="method-signature">
|
700
|
+
<span class="method-name">message</span><span class="method-args">(data)</span>
|
701
|
+
</a>
|
702
|
+
</div>
|
703
|
+
|
704
|
+
<div class="method-description">
|
705
|
+
<p>
|
706
|
+
Create a new <a href="Session.html#M000052">message</a> instance based on
|
707
|
+
the type of the data being supplied
|
708
|
+
</p>
|
709
|
+
<pre>
|
710
|
+
String (:to_str) => TextMessage
|
711
|
+
Hash (:each_pair) => MapMessage
|
712
|
+
</pre>
|
713
|
+
<p>
|
714
|
+
Duck typing is used to determine the type. If the class responds to :to_str
|
715
|
+
then it is considered a String. Similarly if it responds to :each_pair it
|
716
|
+
is considered to be a Hash
|
717
|
+
</p>
|
718
|
+
<p><a class="source-toggle" href="#"
|
719
|
+
onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
|
720
|
+
<div class="method-source-code" id="M000052-source">
|
721
|
+
<pre>
|
722
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 118</span>
|
723
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">message</span>(<span class="ruby-identifier">data</span>)
|
724
|
+
<span class="ruby-identifier">jms_message</span> = <span class="ruby-keyword kw">nil</span>
|
725
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_str</span>, <span class="ruby-keyword kw">false</span>)
|
726
|
+
<span class="ruby-identifier">jms_message</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">createTextMessage</span>
|
727
|
+
<span class="ruby-identifier">jms_message</span>.<span class="ruby-identifier">text</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_str</span>
|
728
|
+
<span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:each_pair</span>, <span class="ruby-keyword kw">false</span>)
|
729
|
+
<span class="ruby-identifier">jms_message</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">createMapMessage</span>
|
730
|
+
<span class="ruby-identifier">jms_message</span>.<span class="ruby-identifier">data</span> = <span class="ruby-identifier">data</span>
|
731
|
+
<span class="ruby-keyword kw">else</span>
|
732
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown data type #{data.class.to_s} in Message"</span>
|
733
|
+
<span class="ruby-keyword kw">end</span>
|
734
|
+
<span class="ruby-identifier">jms_message</span>
|
735
|
+
<span class="ruby-keyword kw">end</span>
|
736
|
+
</pre>
|
737
|
+
</div>
|
738
|
+
</div>
|
739
|
+
</div>
|
740
|
+
|
741
|
+
<div id="method-M000059" class="method-detail">
|
742
|
+
<a name="M000059"></a>
|
743
|
+
|
744
|
+
<div class="method-heading">
|
745
|
+
<a href="#M000059" class="method-signature">
|
746
|
+
<span class="method-name">producer</span><span class="method-args">(params, &proc)</span>
|
747
|
+
</a>
|
748
|
+
</div>
|
749
|
+
|
750
|
+
<div class="method-description">
|
751
|
+
<p>
|
752
|
+
Return a <a href="Session.html#M000059">producer</a> for the <a
|
753
|
+
href="Session.html#M000055">queue</a> name supplied A <a
|
754
|
+
href="Session.html#M000059">producer</a> supports sending messages to a
|
755
|
+
Queue or a Topic
|
756
|
+
</p>
|
757
|
+
<p>
|
758
|
+
Call the Proc if supplied, then automatically close the <a
|
759
|
+
href="Session.html#M000059">producer</a>
|
760
|
+
</p>
|
761
|
+
<p>
|
762
|
+
Parameters:
|
763
|
+
</p>
|
764
|
+
<pre>
|
765
|
+
:queue_name => String: Name of the Queue to return
|
766
|
+
Symbol: :temporary => Create temporary queue
|
767
|
+
Mandatory unless :topic_name is supplied
|
768
|
+
Or,
|
769
|
+
:topic_name => String: Name of the Topic to write to or subscribe to
|
770
|
+
Symbol: :temporary => Create temporary topic
|
771
|
+
Mandatory unless :queue_name is supplied
|
772
|
+
Or,
|
773
|
+
:destination=> Explicit JMS::Destination to use
|
774
|
+
</pre>
|
775
|
+
<p><a class="source-toggle" href="#"
|
776
|
+
onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
|
777
|
+
<div class="method-source-code" id="M000059-source">
|
778
|
+
<pre>
|
779
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 296</span>
|
780
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">producer</span>(<span class="ruby-identifier">params</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">proc</span>)
|
781
|
+
<span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">create_producer</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">create_destination</span>(<span class="ruby-identifier">params</span>))
|
782
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">proc</span>
|
783
|
+
<span class="ruby-keyword kw">begin</span>
|
784
|
+
<span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">p</span>)
|
785
|
+
<span class="ruby-keyword kw">ensure</span>
|
786
|
+
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">close</span>
|
787
|
+
<span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">nil</span>
|
788
|
+
<span class="ruby-keyword kw">end</span>
|
789
|
+
<span class="ruby-keyword kw">end</span>
|
790
|
+
<span class="ruby-identifier">p</span>
|
791
|
+
<span class="ruby-keyword kw">end</span>
|
792
|
+
</pre>
|
793
|
+
</div>
|
794
|
+
</div>
|
795
|
+
</div>
|
796
|
+
|
797
|
+
<div id="method-M000055" class="method-detail">
|
798
|
+
<a name="M000055"></a>
|
799
|
+
|
800
|
+
<div class="method-heading">
|
801
|
+
<a href="#M000055" class="method-signature">
|
802
|
+
<span class="method-name">queue</span><span class="method-args">(queue_name, &block)</span>
|
803
|
+
</a>
|
804
|
+
</div>
|
805
|
+
|
806
|
+
<div class="method-description">
|
807
|
+
<p>
|
808
|
+
Return the <a href="Session.html#M000055">queue</a> matching the <a
|
809
|
+
href="Session.html#M000055">queue</a> name supplied Call the Proc if
|
810
|
+
supplied
|
811
|
+
</p>
|
812
|
+
<p><a class="source-toggle" href="#"
|
813
|
+
onclick="toggleCode('M000055-source');return false;">[Source]</a></p>
|
814
|
+
<div class="method-source-code" id="M000055-source">
|
815
|
+
<pre>
|
816
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 231</span>
|
817
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">queue</span>(<span class="ruby-identifier">queue_name</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
818
|
+
<span class="ruby-identifier">q</span> = <span class="ruby-identifier">create_queue</span>(<span class="ruby-identifier">queue_name</span>)
|
819
|
+
<span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">q</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
|
820
|
+
<span class="ruby-identifier">q</span>
|
821
|
+
<span class="ruby-keyword kw">end</span>
|
822
|
+
</pre>
|
823
|
+
</div>
|
824
|
+
</div>
|
825
|
+
</div>
|
826
|
+
|
827
|
+
<div id="method-M000056" class="method-detail">
|
828
|
+
<a name="M000056"></a>
|
829
|
+
|
830
|
+
<div class="method-heading">
|
831
|
+
<a href="#M000056" class="method-signature">
|
832
|
+
<span class="method-name">temporary_queue</span><span class="method-args">(&block)</span>
|
833
|
+
</a>
|
834
|
+
</div>
|
835
|
+
|
836
|
+
<div class="method-description">
|
837
|
+
<p>
|
838
|
+
Return a temporary <a href="Session.html#M000055">queue</a> The temporary
|
839
|
+
<a href="Session.html#M000055">queue</a> is deleted once the block
|
840
|
+
completes If no block is supplied then it should be deleted by the caller
|
841
|
+
when no longer needed
|
842
|
+
</p>
|
843
|
+
<p><a class="source-toggle" href="#"
|
844
|
+
onclick="toggleCode('M000056-source');return false;">[Source]</a></p>
|
845
|
+
<div class="method-source-code" id="M000056-source">
|
846
|
+
<pre>
|
847
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 241</span>
|
848
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">temporary_queue</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
849
|
+
<span class="ruby-identifier">q</span> = <span class="ruby-identifier">create_temporary_queue</span>
|
850
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
|
851
|
+
<span class="ruby-keyword kw">begin</span>
|
852
|
+
<span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">q</span>)
|
853
|
+
<span class="ruby-keyword kw">ensure</span>
|
854
|
+
<span class="ruby-comment cmt"># Delete Temporary queue on completion of block</span>
|
855
|
+
<span class="ruby-identifier">q</span>.<span class="ruby-identifier">delete</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">q</span>
|
856
|
+
<span class="ruby-identifier">q</span> = <span class="ruby-keyword kw">nil</span>
|
857
|
+
<span class="ruby-keyword kw">end</span>
|
858
|
+
<span class="ruby-keyword kw">end</span>
|
859
|
+
<span class="ruby-identifier">q</span>
|
860
|
+
<span class="ruby-keyword kw">end</span>
|
861
|
+
</pre>
|
862
|
+
</div>
|
863
|
+
</div>
|
864
|
+
</div>
|
865
|
+
|
866
|
+
<div id="method-M000058" class="method-detail">
|
867
|
+
<a name="M000058"></a>
|
868
|
+
|
869
|
+
<div class="method-heading">
|
870
|
+
<a href="#M000058" class="method-signature">
|
871
|
+
<span class="method-name">temporary_topic</span><span class="method-args">(&block)</span>
|
872
|
+
</a>
|
873
|
+
</div>
|
874
|
+
|
875
|
+
<div class="method-description">
|
876
|
+
<p>
|
877
|
+
Return a temporary <a href="Session.html#M000057">topic</a> The temporary
|
878
|
+
<a href="Session.html#M000057">topic</a> is deleted once the block
|
879
|
+
completes If no block is supplied then it should be deleted by the caller
|
880
|
+
when no longer needed
|
881
|
+
</p>
|
882
|
+
<p><a class="source-toggle" href="#"
|
883
|
+
onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
|
884
|
+
<div class="method-source-code" id="M000058-source">
|
885
|
+
<pre>
|
886
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 267</span>
|
887
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">temporary_topic</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
888
|
+
<span class="ruby-identifier">t</span> = <span class="ruby-identifier">create_temporary_topic</span>
|
889
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
|
890
|
+
<span class="ruby-keyword kw">begin</span>
|
891
|
+
<span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">t</span>)
|
892
|
+
<span class="ruby-keyword kw">ensure</span>
|
893
|
+
<span class="ruby-comment cmt"># Delete Temporary topic on completion of block</span>
|
894
|
+
<span class="ruby-identifier">t</span>.<span class="ruby-identifier">delete</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">t</span>
|
895
|
+
<span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">nil</span>
|
896
|
+
<span class="ruby-keyword kw">end</span>
|
897
|
+
<span class="ruby-keyword kw">end</span>
|
898
|
+
<span class="ruby-identifier">t</span>
|
899
|
+
<span class="ruby-keyword kw">end</span>
|
900
|
+
</pre>
|
901
|
+
</div>
|
902
|
+
</div>
|
903
|
+
</div>
|
904
|
+
|
905
|
+
<div id="method-M000057" class="method-detail">
|
906
|
+
<a name="M000057"></a>
|
907
|
+
|
908
|
+
<div class="method-heading">
|
909
|
+
<a href="#M000057" class="method-signature">
|
910
|
+
<span class="method-name">topic</span><span class="method-args">(topic_name, &proc)</span>
|
911
|
+
</a>
|
912
|
+
</div>
|
913
|
+
|
914
|
+
<div class="method-description">
|
915
|
+
<p>
|
916
|
+
Return the <a href="Session.html#M000057">topic</a> matching the <a
|
917
|
+
href="Session.html#M000057">topic</a> name supplied Call the Proc if
|
918
|
+
supplied
|
919
|
+
</p>
|
920
|
+
<p><a class="source-toggle" href="#"
|
921
|
+
onclick="toggleCode('M000057-source');return false;">[Source]</a></p>
|
922
|
+
<div class="method-source-code" id="M000057-source">
|
923
|
+
<pre>
|
924
|
+
<span class="ruby-comment cmt"># File lib/jms/session.rb, line 257</span>
|
925
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">topic</span>(<span class="ruby-identifier">topic_name</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">proc</span>)
|
926
|
+
<span class="ruby-identifier">t</span> = <span class="ruby-identifier">create_topic</span>(<span class="ruby-identifier">topic_name</span>)
|
927
|
+
<span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">t</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">proc</span>
|
928
|
+
<span class="ruby-identifier">t</span>
|
929
|
+
<span class="ruby-keyword kw">end</span>
|
930
|
+
</pre>
|
931
|
+
</div>
|
932
|
+
</div>
|
933
|
+
</div>
|
934
|
+
|
935
|
+
|
936
|
+
</div>
|
937
|
+
|
938
|
+
|
939
|
+
</div>
|
940
|
+
|
941
|
+
|
942
|
+
<div id="validator-badges">
|
943
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
944
|
+
</div>
|
945
|
+
|
946
|
+
</body>
|
947
|
+
</html>
|