torquebox-messaging 2.2.0-java → 2.3.0-java
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/lib/gem_hook.rb +1 -1
- data/lib/org.torquebox.messaging-client.rb +1 -1
- data/lib/torquebox-messaging.jar +0 -0
- data/lib/torquebox-messaging.rb +2 -2
- data/lib/torquebox/messaging.rb +1 -1
- data/lib/torquebox/messaging/backgroundable.rb +2 -2
- data/lib/torquebox/messaging/backgroundable_processor.rb +1 -6
- data/lib/torquebox/messaging/connection.rb +1 -1
- data/lib/torquebox/messaging/connection_factory.rb +1 -1
- data/lib/torquebox/messaging/const_missing.rb +1 -1
- data/lib/torquebox/messaging/core.rb +1 -1
- data/lib/torquebox/messaging/datamapper_marshaling.rb +1 -1
- data/lib/torquebox/messaging/destination.rb +43 -4
- data/lib/torquebox/messaging/echo_processor.rb +17 -1
- data/lib/torquebox/messaging/edn_message.rb +1 -1
- data/lib/torquebox/messaging/ext/javax_jms_queue_browser.rb +1 -1
- data/lib/torquebox/messaging/future.rb +1 -1
- data/lib/torquebox/messaging/future_responder.rb +1 -1
- data/lib/torquebox/messaging/future_status.rb +1 -1
- data/lib/torquebox/messaging/json_message.rb +1 -1
- data/lib/torquebox/messaging/marshal_base64_message.rb +1 -1
- data/lib/torquebox/messaging/marshal_message.rb +1 -1
- data/lib/torquebox/messaging/message.rb +10 -10
- data/lib/torquebox/messaging/message_processor.rb +1 -1
- data/lib/torquebox/messaging/processor_middleware/chain.rb +4 -4
- data/lib/torquebox/messaging/processor_middleware/default_middleware.rb +1 -1
- data/lib/torquebox/messaging/processor_middleware/with_transaction.rb +6 -13
- data/lib/torquebox/messaging/queue.rb +83 -1
- data/lib/torquebox/messaging/session.rb +24 -16
- data/lib/torquebox/messaging/task.rb +1 -1
- data/lib/torquebox/messaging/text_message.rb +1 -1
- data/lib/torquebox/messaging/topic.rb +1 -1
- data/lib/torquebox/messaging/xa_connection.rb +1 -1
- data/lib/torquebox/messaging/xa_connection_factory.rb +1 -1
- data/lib/torquebox/messaging/xa_session.rb +1 -1
- data/spec/destination_spec.rb +56 -0
- metadata +43 -43
data/lib/gem_hook.rb
CHANGED
data/lib/torquebox-messaging.jar
CHANGED
|
Binary file
|
data/lib/torquebox-messaging.rb
CHANGED
data/lib/torquebox/messaging.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2008-
|
|
1
|
+
# Copyright 2008-2013 Red Hat, Inc, and individual contributors.
|
|
2
2
|
#
|
|
3
3
|
# This is free software; you can redistribute it and/or modify it
|
|
4
4
|
# under the terms of the GNU Lesser General Public License as
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# License along with this software; if not, write to the Free
|
|
15
15
|
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
16
16
|
# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
require 'torquebox/messaging/queue'
|
|
19
19
|
require 'torquebox/messaging/future'
|
|
20
20
|
require 'torquebox/messaging/task'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2008-
|
|
1
|
+
# Copyright 2008-2013 Red Hat, Inc, and individual contributors.
|
|
2
2
|
#
|
|
3
3
|
# This is free software; you can redistribute it and/or modify it
|
|
4
4
|
# under the terms of the GNU Lesser General Public License as
|
|
@@ -42,11 +42,6 @@ module TorqueBox
|
|
|
42
42
|
end
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
-
# Do not begin a transaction before invoking a Backgroundable method
|
|
46
|
-
def middleware
|
|
47
|
-
super.remove(TorqueBox::Messaging::ProcessorMiddleware::WithTransaction)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
45
|
private
|
|
51
46
|
def self.log
|
|
52
47
|
@logger ||= TorqueBox::Logger.new( self )
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2008-
|
|
1
|
+
# Copyright 2008-2013 Red Hat, Inc, and individual contributors.
|
|
2
2
|
#
|
|
3
3
|
# This is free software; you can redistribute it and/or modify it
|
|
4
4
|
# under the terms of the GNU Lesser General Public License as
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
|
|
17
17
|
|
|
18
18
|
require 'torquebox/injectors'
|
|
19
|
+
require 'torquebox/msc'
|
|
19
20
|
require 'torquebox/messaging/session'
|
|
20
21
|
require 'torquebox/messaging/connection_factory'
|
|
21
22
|
require 'torquebox/messaging/ext/javax_jms_queue_browser'
|
|
@@ -25,7 +26,7 @@ module TorqueBox
|
|
|
25
26
|
class Destination
|
|
26
27
|
include TorqueBox::Injectors
|
|
27
28
|
include Enumerable
|
|
28
|
-
|
|
29
|
+
|
|
29
30
|
attr_reader :connection_factory
|
|
30
31
|
attr_reader :name
|
|
31
32
|
attr_accessor :enumerable_options
|
|
@@ -152,11 +153,49 @@ module TorqueBox
|
|
|
152
153
|
@enumerable_options ||= { }
|
|
153
154
|
@enumerable_options
|
|
154
155
|
end
|
|
155
|
-
|
|
156
|
-
def to_s
|
|
156
|
+
|
|
157
|
+
def to_s
|
|
157
158
|
name
|
|
158
159
|
end
|
|
159
160
|
|
|
161
|
+
class << self
|
|
162
|
+
|
|
163
|
+
# List all destinations of this application.
|
|
164
|
+
#
|
|
165
|
+
# @return Array of {TorqueBox::Messaging::Queue} or {TorqueBox::Messaging::Topic}
|
|
166
|
+
# depending on the destination type.
|
|
167
|
+
def list
|
|
168
|
+
# Get the JMS Manager
|
|
169
|
+
TorqueBox::ServiceRegistry.lookup("jboss.messaging.default.jms.manager") do |manager|
|
|
170
|
+
|
|
171
|
+
# JMSServerControl will let us grab the deployed queue/topic list
|
|
172
|
+
server_control = Java::org.hornetq.jms.management.impl.JMSServerControlImpl.new(manager)
|
|
173
|
+
|
|
174
|
+
# Retrieve the destination list appropriate to the destination type
|
|
175
|
+
if self == TorqueBox::Messaging::Topic
|
|
176
|
+
names = server_control.topic_names
|
|
177
|
+
elsif self == TorqueBox::Messaging::Queue
|
|
178
|
+
names = server_control.queue_names
|
|
179
|
+
else
|
|
180
|
+
names = []
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
names.map { |name| self.new(name) }
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
# Lookup a destination of this application by name. A destination could be
|
|
188
|
+
# a queue or topic.
|
|
189
|
+
#
|
|
190
|
+
# @param [String] name of the destination
|
|
191
|
+
#
|
|
192
|
+
# @return [TorqueBox::Messaging::Queue] or [TorqueBox::Messaging::Topic]
|
|
193
|
+
# The destination instance.
|
|
194
|
+
def lookup(name)
|
|
195
|
+
list.find { |destination| destination.name == name }
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
|
|
160
199
|
end
|
|
161
200
|
end
|
|
162
201
|
end
|
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Copyright 2008-2013 Red Hat, Inc, and individual contributors.
|
|
2
|
+
#
|
|
3
|
+
# This is free software; you can redistribute it and/or modify it
|
|
4
|
+
# under the terms of the GNU Lesser General Public License as
|
|
5
|
+
# published by the Free Software Foundation; either version 2.1 of
|
|
6
|
+
# the License, or (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This software is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
11
|
+
# Lesser General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
|
14
|
+
# License along with this software; if not, write to the Free
|
|
15
|
+
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
16
|
+
# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
|
|
17
|
+
|
|
2
18
|
module Torquebox
|
|
3
19
|
module Messaging
|
|
4
20
|
# A message processor that echos any messages sent to it back to
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2008-
|
|
1
|
+
# Copyright 2008-2013 Red Hat, Inc, and individual contributors.
|
|
2
2
|
#
|
|
3
3
|
# This is free software; you can redistribute it and/or modify it
|
|
4
4
|
# under the terms of the GNU Lesser General Public License as
|
|
@@ -57,17 +57,17 @@ module TorqueBox
|
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
def populate_message_properties(properties)
|
|
60
|
-
return if properties.nil?
|
|
60
|
+
return if properties.nil? or properties.empty?
|
|
61
61
|
properties.each do |key, value|
|
|
62
62
|
case value
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
63
|
+
when Integer
|
|
64
|
+
@jms_message.set_long_property(key.to_s, value)
|
|
65
|
+
when Float
|
|
66
|
+
@jms_message.set_double_property(key.to_s, value)
|
|
67
|
+
when TrueClass, FalseClass
|
|
68
|
+
@jms_message.set_boolean_property(key.to_s, value)
|
|
69
|
+
else
|
|
70
|
+
@jms_message.set_string_property(key.to_s, value.to_s)
|
|
71
71
|
end
|
|
72
72
|
end
|
|
73
73
|
end
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# Copyright 2008-
|
|
2
|
-
#
|
|
1
|
+
# Copyright 2008-2013 Red Hat, Inc, and individual contributors.
|
|
2
|
+
#
|
|
3
3
|
# This is free software; you can redistribute it and/or modify it
|
|
4
4
|
# under the terms of the GNU Lesser General Public License as
|
|
5
5
|
# published by the Free Software Foundation; either version 2.1 of
|
|
6
6
|
# the License, or (at your option) any later version.
|
|
7
|
-
#
|
|
7
|
+
#
|
|
8
8
|
# This software is distributed in the hope that it will be useful,
|
|
9
9
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
10
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
11
11
|
# Lesser General Public License for more details.
|
|
12
|
-
#
|
|
12
|
+
#
|
|
13
13
|
# You should have received a copy of the GNU Lesser General Public
|
|
14
14
|
# License along with this software; if not, write to the Free
|
|
15
15
|
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2008-
|
|
1
|
+
# Copyright 2008-2013 Red Hat, Inc, and individual contributors.
|
|
2
2
|
#
|
|
3
3
|
# This is free software; you can redistribute it and/or modify it
|
|
4
4
|
# under the terms of the GNU Lesser General Public License as
|
|
@@ -21,21 +21,14 @@ module TorqueBox
|
|
|
21
21
|
module Messaging
|
|
22
22
|
module ProcessorMiddleware
|
|
23
23
|
class WithTransaction
|
|
24
|
-
|
|
24
|
+
|
|
25
25
|
def call(session, message)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
TorqueBox.transaction( session ) { yield }
|
|
29
|
-
rescue Exception => ex
|
|
30
|
-
$stderr.puts("Unable to process inbound message", ex)
|
|
31
|
-
end
|
|
32
|
-
else
|
|
33
|
-
yield
|
|
34
|
-
end
|
|
26
|
+
# This middleware is now a no-op and should be removed
|
|
27
|
+
yield
|
|
35
28
|
end
|
|
36
|
-
|
|
29
|
+
|
|
37
30
|
end
|
|
38
|
-
|
|
31
|
+
|
|
39
32
|
end
|
|
40
33
|
end
|
|
41
34
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2008-
|
|
1
|
+
# Copyright 2008-2013 Red Hat, Inc, and individual contributors.
|
|
2
2
|
#
|
|
3
3
|
# This is free software; you can redistribute it and/or modify it
|
|
4
4
|
# under the terms of the GNU Lesser General Public License as
|
|
@@ -53,6 +53,88 @@ module TorqueBox
|
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
55
|
|
|
56
|
+
# Returns true if queue is paused, false
|
|
57
|
+
# otherwise.
|
|
58
|
+
def paused?
|
|
59
|
+
with_queue_control do |control|
|
|
60
|
+
control.is_paused
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Pauses a queue.
|
|
65
|
+
#
|
|
66
|
+
# Messages put into a queue will not be delivered even
|
|
67
|
+
# if there are connected consumers.
|
|
68
|
+
#
|
|
69
|
+
# When executed on a paused queue, nothing happens.
|
|
70
|
+
def pause
|
|
71
|
+
with_queue_control do |control|
|
|
72
|
+
control.pause
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Resumes a queue after it was paused.
|
|
77
|
+
# When executed on a active queue, nothing happens.
|
|
78
|
+
def resume
|
|
79
|
+
with_queue_control do |control|
|
|
80
|
+
control.resume
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Removes messages from the queue.
|
|
85
|
+
#
|
|
86
|
+
# Accepts optional :filter parameter to remove only
|
|
87
|
+
# selected messages from the queue. By default
|
|
88
|
+
# *all* messages will be removed.
|
|
89
|
+
#
|
|
90
|
+
# The :filter parameter is a String where you define
|
|
91
|
+
# expressions in a SQL92-like syntax based on properties
|
|
92
|
+
# set on the messages.
|
|
93
|
+
#
|
|
94
|
+
# Example:
|
|
95
|
+
#
|
|
96
|
+
# type = 'tomatoe' OR type = 'garlic'
|
|
97
|
+
#
|
|
98
|
+
# This will remove messages with :type property set
|
|
99
|
+
# to 'tomatoe' or 'garlic'
|
|
100
|
+
#
|
|
101
|
+
# This function returns number of removed messages.
|
|
102
|
+
def remove_messages(filter = nil)
|
|
103
|
+
with_queue_control do |control|
|
|
104
|
+
control.remove_messages(filter)
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# Counts messages in the queue.
|
|
109
|
+
#
|
|
110
|
+
# Accepts optional :filter parameter to count only
|
|
111
|
+
# selected messages in the queue. By default
|
|
112
|
+
# all messages will be counted.
|
|
113
|
+
#
|
|
114
|
+
# The :filter parameter is a String where you define
|
|
115
|
+
# expressions in a SQL92-like syntax based on properties
|
|
116
|
+
# set on the messages.
|
|
117
|
+
#
|
|
118
|
+
# Example:
|
|
119
|
+
#
|
|
120
|
+
# type = 'tomatoe' OR type = 'garlic'
|
|
121
|
+
#
|
|
122
|
+
# This will count messages with :type property set
|
|
123
|
+
# to 'tomatoe' or 'garlic'
|
|
124
|
+
def count_messages(filter = nil)
|
|
125
|
+
with_queue_control do |control|
|
|
126
|
+
control.count_messages(filter)
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# Retrieves the JMSQueueControl implenetation for current
|
|
131
|
+
# queue.
|
|
132
|
+
def with_queue_control
|
|
133
|
+
TorqueBox::ServiceRegistry.lookup("jboss.messaging.default") do |server|
|
|
134
|
+
yield server.management_service.get_resource("jms.queue.#{_dump(nil)}")
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
56
138
|
def to_s
|
|
57
139
|
"[Queue: #{super}]"
|
|
58
140
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2008-
|
|
1
|
+
# Copyright 2008-2013 Red Hat, Inc, and individual contributors.
|
|
2
2
|
#
|
|
3
3
|
# This is free software; you can redistribute it and/or modify it
|
|
4
4
|
# under the terms of the GNU Lesser General Public License as
|
|
@@ -42,6 +42,22 @@ module TorqueBox
|
|
|
42
42
|
producer = @jms_session.create_producer( java_destination( destination ) )
|
|
43
43
|
message = Message.new( @jms_session, payload, options[:encoding] )
|
|
44
44
|
|
|
45
|
+
options[:properties] ||= {}
|
|
46
|
+
|
|
47
|
+
# This will let us create messages to be scheduled later like this:
|
|
48
|
+
#
|
|
49
|
+
# queue.publish(:ham => :biscuit, :scheduled => Time.now + 10)
|
|
50
|
+
# queue.publish(:ham => :biscuit, :scheduled => Time.now + 2.5)
|
|
51
|
+
#
|
|
52
|
+
# In Rails it is possible to do:
|
|
53
|
+
#
|
|
54
|
+
# queue.publish(:ham => :biscuit, :scheduled => 3.minutes.from_now)
|
|
55
|
+
#
|
|
56
|
+
# Please note that the :scheduled parameter takes a Time object.
|
|
57
|
+
if options.has_key?(:scheduled)
|
|
58
|
+
options[:properties][Java::org.hornetq.api.core.Message::HDR_SCHEDULED_DELIVERY_TIME.to_s] = (options[:scheduled].to_f * 1000).to_i
|
|
59
|
+
end
|
|
60
|
+
|
|
45
61
|
message.populate_message_headers(options)
|
|
46
62
|
message.populate_message_properties(options[:properties])
|
|
47
63
|
|
|
@@ -92,19 +108,13 @@ module TorqueBox
|
|
|
92
108
|
# default: true
|
|
93
109
|
#
|
|
94
110
|
def publish_and_receive(destination, message, options = {})
|
|
95
|
-
options[:timeout] ||=
|
|
96
|
-
decode = options.fetch(:decode, false)
|
|
111
|
+
options[:timeout] ||= 10_000 # 10s
|
|
97
112
|
options[:properties] ||= {}
|
|
98
113
|
options[:properties]["synchronous"] = "true"
|
|
99
|
-
|
|
100
|
-
message = publish(destination, wrapped_message, options)
|
|
114
|
+
message = publish(destination, message, options)
|
|
101
115
|
|
|
102
116
|
options[:selector] = "JMSCorrelationID='#{message.jms_message.jms_message_id}'"
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if response
|
|
106
|
-
decode ? Message.new( response ).decode : response
|
|
107
|
-
end
|
|
117
|
+
receive(destination, options)
|
|
108
118
|
end
|
|
109
119
|
|
|
110
120
|
# Receiving end of the request-response pattern. The return value of
|
|
@@ -119,12 +129,10 @@ module TorqueBox
|
|
|
119
129
|
|
|
120
130
|
request = receive(destination, receive_options)
|
|
121
131
|
unless request.nil?
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
options[:ttl] ||= request_timeout
|
|
127
|
-
|
|
132
|
+
request_message = Message.new( request ).decode
|
|
133
|
+
options[:ttl] ||= 60_000 # 1m
|
|
134
|
+
options[:encoding] ||= Message.extract_encoding_from_message( request )
|
|
135
|
+
|
|
128
136
|
response = block_given? ? yield(request_message) : request_message
|
|
129
137
|
|
|
130
138
|
options[:correlation_id] = request.jms_message_id
|
data/spec/destination_spec.rb
CHANGED
|
@@ -166,4 +166,60 @@ describe TorqueBox::Messaging::Destination do
|
|
|
166
166
|
end
|
|
167
167
|
end
|
|
168
168
|
|
|
169
|
+
context "queue management" do
|
|
170
|
+
before(:each) do
|
|
171
|
+
jms_manager = mock('JMSManager')
|
|
172
|
+
@server_control = mock('ServerControl')
|
|
173
|
+
|
|
174
|
+
TorqueBox::ServiceRegistry.stub!(:lookup).with("jboss.messaging.default.jms.manager").and_yield(jms_manager)
|
|
175
|
+
Java::org.hornetq.jms.management.impl.JMSServerControlImpl.stub!(:new).with(jms_manager).and_return(@server_control)
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
describe "lookup" do
|
|
179
|
+
it "should return nil lookup if queue unavailable" do
|
|
180
|
+
@server_control.should_receive(:queue_names).and_return([])
|
|
181
|
+
TorqueBox::Messaging::Queue.lookup('/queues/doesntexist').should be_nil
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
describe "list" do
|
|
186
|
+
before(:each) do
|
|
187
|
+
jms_manager = mock('JMSManager')
|
|
188
|
+
@server_control = mock('ServerControl')
|
|
189
|
+
|
|
190
|
+
TorqueBox::ServiceRegistry.stub!(:lookup).with("jboss.messaging.default.jms.manager").and_yield(jms_manager)
|
|
191
|
+
Java::org.hornetq.jms.management.impl.JMSServerControlImpl.stub!(:new).with(jms_manager).and_return(@server_control)
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
it "should return empty list if no queues are available" do
|
|
195
|
+
@server_control.should_receive(:queue_names).and_return([])
|
|
196
|
+
|
|
197
|
+
TorqueBox::Messaging::Queue.list.should == []
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
it "should return empty list if no topics are available" do
|
|
201
|
+
@server_control.should_receive(:topic_names).and_return([])
|
|
202
|
+
|
|
203
|
+
TorqueBox::Messaging::Topic.list.should == []
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
it "should return list with available queues" do
|
|
207
|
+
@server_control.should_receive(:queue_names).and_return(['/queues/one', '/queues/two'])
|
|
208
|
+
|
|
209
|
+
queues = TorqueBox::Messaging::Queue.list
|
|
210
|
+
queues.size.should == 2
|
|
211
|
+
queues[0].name.should == '/queues/one'
|
|
212
|
+
queues[1].name.should == '/queues/two'
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
it "should return list with available topics" do
|
|
216
|
+
@server_control.should_receive(:topic_names).and_return(['/topics/one', '/topics/two'])
|
|
217
|
+
|
|
218
|
+
topics = TorqueBox::Messaging::Topic.list
|
|
219
|
+
topics.size.should == 2
|
|
220
|
+
topics[0].name.should == '/topics/one'
|
|
221
|
+
topics[1].name.should == '/topics/two'
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
end
|
|
169
225
|
end
|
metadata
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
name: torquebox-messaging
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease:
|
|
5
|
-
version: 2.
|
|
5
|
+
version: 2.3.0
|
|
6
6
|
platform: java
|
|
7
7
|
authors:
|
|
8
8
|
- The TorqueBox Team
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2013-01-25 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: torquebox-core
|
|
@@ -17,13 +17,13 @@ dependencies:
|
|
|
17
17
|
requirements:
|
|
18
18
|
- - '='
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
|
-
version: 2.
|
|
20
|
+
version: 2.3.0
|
|
21
21
|
none: false
|
|
22
22
|
requirement: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - '='
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 2.
|
|
26
|
+
version: 2.3.0
|
|
27
27
|
none: false
|
|
28
28
|
prerelease: false
|
|
29
29
|
type: :runtime
|
|
@@ -33,13 +33,13 @@ dependencies:
|
|
|
33
33
|
requirements:
|
|
34
34
|
- - '='
|
|
35
35
|
- !ruby/object:Gem::Version
|
|
36
|
-
version: 2.
|
|
36
|
+
version: 2.3.0
|
|
37
37
|
none: false
|
|
38
38
|
requirement: !ruby/object:Gem::Requirement
|
|
39
39
|
requirements:
|
|
40
40
|
- - '='
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
|
-
version: 2.
|
|
42
|
+
version: 2.3.0
|
|
43
43
|
none: false
|
|
44
44
|
prerelease: false
|
|
45
45
|
type: :runtime
|
|
@@ -109,47 +109,47 @@ files:
|
|
|
109
109
|
- lib/gem_hook.rb
|
|
110
110
|
- lib/org.torquebox.messaging-client.rb
|
|
111
111
|
- lib/torquebox/messaging.rb
|
|
112
|
-
- lib/torquebox/messaging/
|
|
113
|
-
- lib/torquebox/messaging/
|
|
112
|
+
- lib/torquebox/messaging/xa_connection.rb
|
|
113
|
+
- lib/torquebox/messaging/queue.rb
|
|
114
|
+
- lib/torquebox/messaging/core.rb
|
|
115
|
+
- lib/torquebox/messaging/future_status.rb
|
|
116
|
+
- lib/torquebox/messaging/json_message.rb
|
|
117
|
+
- lib/torquebox/messaging/xa_connection_factory.rb
|
|
114
118
|
- lib/torquebox/messaging/datamapper_marshaling.rb
|
|
115
119
|
- lib/torquebox/messaging/backgroundable.rb
|
|
116
|
-
- lib/torquebox/messaging/
|
|
117
|
-
- lib/torquebox/messaging/
|
|
118
|
-
- lib/torquebox/messaging/xa_connection_factory.rb
|
|
119
|
-
- lib/torquebox/messaging/message_processor.rb
|
|
120
|
-
- lib/torquebox/messaging/json_message.rb
|
|
121
|
-
- lib/torquebox/messaging/xa_session.rb
|
|
120
|
+
- lib/torquebox/messaging/future_responder.rb
|
|
121
|
+
- lib/torquebox/messaging/text_message.rb
|
|
122
122
|
- lib/torquebox/messaging/message.rb
|
|
123
|
-
- lib/torquebox/messaging/
|
|
124
|
-
- lib/torquebox/messaging/
|
|
123
|
+
- lib/torquebox/messaging/future.rb
|
|
124
|
+
- lib/torquebox/messaging/message_processor.rb
|
|
125
|
+
- lib/torquebox/messaging/backgroundable_processor.rb
|
|
126
|
+
- lib/torquebox/messaging/connection.rb
|
|
125
127
|
- lib/torquebox/messaging/connection_factory.rb
|
|
128
|
+
- lib/torquebox/messaging/echo_processor.rb
|
|
126
129
|
- lib/torquebox/messaging/marshal_base64_message.rb
|
|
127
|
-
- lib/torquebox/messaging/queue.rb
|
|
128
|
-
- lib/torquebox/messaging/xa_connection.rb
|
|
129
|
-
- lib/torquebox/messaging/backgroundable_processor.rb
|
|
130
|
-
- lib/torquebox/messaging/future.rb
|
|
131
|
-
- lib/torquebox/messaging/future_status.rb
|
|
132
|
-
- lib/torquebox/messaging/text_message.rb
|
|
133
|
-
- lib/torquebox/messaging/const_missing.rb
|
|
134
130
|
- lib/torquebox/messaging/destination.rb
|
|
131
|
+
- lib/torquebox/messaging/xa_session.rb
|
|
132
|
+
- lib/torquebox/messaging/marshal_message.rb
|
|
133
|
+
- lib/torquebox/messaging/session.rb
|
|
135
134
|
- lib/torquebox/messaging/topic.rb
|
|
136
|
-
- lib/torquebox/messaging/
|
|
137
|
-
- lib/torquebox/messaging/
|
|
138
|
-
- lib/torquebox/messaging/
|
|
139
|
-
- lib/torquebox/messaging/processor_middleware/with_transaction.rb
|
|
135
|
+
- lib/torquebox/messaging/const_missing.rb
|
|
136
|
+
- lib/torquebox/messaging/edn_message.rb
|
|
137
|
+
- lib/torquebox/messaging/task.rb
|
|
140
138
|
- lib/torquebox/messaging/processor_middleware/chain.rb
|
|
139
|
+
- lib/torquebox/messaging/processor_middleware/with_transaction.rb
|
|
141
140
|
- lib/torquebox/messaging/processor_middleware/default_middleware.rb
|
|
141
|
+
- lib/torquebox/messaging/ext/javax_jms_queue_browser.rb
|
|
142
|
+
- spec/json_message_spec.rb
|
|
143
|
+
- spec/message_spec.rb
|
|
144
|
+
- spec/datamapper_marshaling_spec.rb
|
|
145
|
+
- spec/future_spec.rb
|
|
146
|
+
- spec/message_processor_spec.rb
|
|
142
147
|
- spec/task_spec.rb
|
|
148
|
+
- spec/destination_spec.rb
|
|
149
|
+
- spec/future_responder_spec.rb
|
|
143
150
|
- spec/backgroundable_spec.rb
|
|
144
|
-
- spec/future_spec.rb
|
|
145
151
|
- spec/default_middleware_spec.rb
|
|
146
|
-
- spec/destination_spec.rb
|
|
147
|
-
- spec/message_spec.rb
|
|
148
|
-
- spec/message_processor_spec.rb
|
|
149
152
|
- spec/chain_spec.rb
|
|
150
|
-
- spec/json_message_spec.rb
|
|
151
|
-
- spec/future_responder_spec.rb
|
|
152
|
-
- spec/datamapper_marshaling_spec.rb
|
|
153
153
|
homepage: http://torquebox.org/
|
|
154
154
|
licenses:
|
|
155
155
|
- lgpl
|
|
@@ -159,14 +159,14 @@ require_paths:
|
|
|
159
159
|
- lib
|
|
160
160
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
161
|
requirements:
|
|
162
|
-
- -
|
|
162
|
+
- - ">="
|
|
163
163
|
- !ruby/object:Gem::Version
|
|
164
164
|
version: !binary |-
|
|
165
165
|
MA==
|
|
166
166
|
none: false
|
|
167
167
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
168
|
requirements:
|
|
169
|
-
- -
|
|
169
|
+
- - ">="
|
|
170
170
|
- !ruby/object:Gem::Version
|
|
171
171
|
version: !binary |-
|
|
172
172
|
MA==
|
|
@@ -178,14 +178,14 @@ signing_key:
|
|
|
178
178
|
specification_version: 3
|
|
179
179
|
summary: TorqueBox Messaging Client
|
|
180
180
|
test_files:
|
|
181
|
+
- spec/json_message_spec.rb
|
|
182
|
+
- spec/message_spec.rb
|
|
183
|
+
- spec/datamapper_marshaling_spec.rb
|
|
184
|
+
- spec/future_spec.rb
|
|
185
|
+
- spec/message_processor_spec.rb
|
|
181
186
|
- spec/task_spec.rb
|
|
187
|
+
- spec/destination_spec.rb
|
|
188
|
+
- spec/future_responder_spec.rb
|
|
182
189
|
- spec/backgroundable_spec.rb
|
|
183
|
-
- spec/future_spec.rb
|
|
184
190
|
- spec/default_middleware_spec.rb
|
|
185
|
-
- spec/destination_spec.rb
|
|
186
|
-
- spec/message_spec.rb
|
|
187
|
-
- spec/message_processor_spec.rb
|
|
188
191
|
- spec/chain_spec.rb
|
|
189
|
-
- spec/json_message_spec.rb
|
|
190
|
-
- spec/future_responder_spec.rb
|
|
191
|
-
- spec/datamapper_marshaling_spec.rb
|