stapfen 3.0.2.21 → 3.0.2.23
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.
- checksums.yaml +8 -8
- data/lib/stapfen/client/jms.rb +2 -2
- data/spec/client/jms_spec.rb +57 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Y2FlNzUwYjlhZDkyODRiMDNmOGJiMWVkMWRkOWZkMDc1MjMxMmU4NA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YjhjZWJjNDc2NDlmNDc1NjRkZWJmYTI4NThhOTgxMzlkZGI0MmRkYQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MTFkMDg2ODZmMDcyMDBkMTFhOTgzYjM5YjA0NGVjMWVkYTlkMzhkMzk4NmY1
|
10
|
+
Yjc4OWZkMDRmYmQ4OTMwOWNkMDg2MDkxY2ZkYTRkYzVkYWI3YzIxYTY5NTAx
|
11
|
+
ODUwODk5ZWFjN2E5YzU2ZTcyZjhkNzE1YTU2OGU1ZDg4ZWMyMmE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MDkwNGMyNmM3ZjA2MjI0NzU2N2ExYWJmNDRhNmNlMmEzNjM0ZTUxOGYwZmM1
|
14
|
+
NDdhN2VkOTQ3NWUxOWFkZmVmZGY0MDhlNGJmOTA2YmZlMmU3ODdmYTIzMzFi
|
15
|
+
YmIxM2JmOTY1NzRmZjcwZTUxYWZlYzE2ZjhiMTVkOTMzYjllNTc=
|
data/lib/stapfen/client/jms.rb
CHANGED
@@ -101,9 +101,9 @@ module Stapfen
|
|
101
101
|
# @option unreceive_headers [String] :dead_letter_queue After giving up on
|
102
102
|
# redelivering, send the message here.
|
103
103
|
def unreceive(message, unreceive_headers)
|
104
|
-
return if unreceive_headers[:max_redeliveries].nil? && unreceive_headers[:
|
104
|
+
return if unreceive_headers[:max_redeliveries].nil? && unreceive_headers[:dead_letter_queue].nil?
|
105
105
|
|
106
|
-
destination = message.destination.to_s.sub('queue://','/queue/').sub('topic://','/topic')
|
106
|
+
destination = message.destination.to_s.sub('queue://','/queue/').sub('topic://','/topic/')
|
107
107
|
retry_count = message.getStringProperty('retry_count').to_i || 0
|
108
108
|
retry_count +=1
|
109
109
|
|
data/spec/client/jms_spec.rb
CHANGED
@@ -20,23 +20,49 @@ if RUBY_PLATFORM == 'java'
|
|
20
20
|
let(:message) { double('Message', :destination => orig_destination, :data => body, :getStringProperty => nil) }
|
21
21
|
let(:max_redeliveries) { 2 }
|
22
22
|
let(:dlq) { '/queue/some_queue/dlq' }
|
23
|
-
|
24
|
-
{ :dead_letter_queue => dlq, :max_redeliveries => max_redeliveries }
|
25
|
-
end
|
23
|
+
|
26
24
|
let(:orig_destination) { '/queue/some_queue' }
|
27
25
|
|
28
26
|
subject(:unreceive!) { client.unreceive(message, unreceive_headers) }
|
29
27
|
|
30
|
-
context 'with no unreceive[:
|
28
|
+
context 'with no unreceive[:dead_letter_queue] and no unreceive[:max_redeliveries]' do
|
31
29
|
let(:unreceive_headers) { Hash.new }
|
32
|
-
|
33
30
|
it 'should not resend the message' do
|
34
31
|
client.should_not_receive(:publish)
|
32
|
+
unreceive!
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'with no unreceive[:max_redeliveries]' do
|
37
|
+
let(:unreceive_headers) do
|
38
|
+
{ dead_letter_queue: '/queue/some_queue/dlq' }
|
39
|
+
end
|
35
40
|
|
41
|
+
it 'should resend the message' do
|
42
|
+
client.should_receive(:publish) do |dest, the_body, the_headers|
|
43
|
+
expect(dest).to eql '/queue/some_queue/dlq'
|
44
|
+
end
|
36
45
|
unreceive!
|
37
46
|
end
|
38
47
|
end
|
39
48
|
|
49
|
+
context 'with no unreceive[:dead_letter_queue]' do
|
50
|
+
let(:unreceive_headers) { { max_redeliveries: 2 } }
|
51
|
+
|
52
|
+
it 'should resend the message' do
|
53
|
+
client.should_receive(:publish) do |dest, the_body, the_headers|
|
54
|
+
expect(dest).to eql orig_destination
|
55
|
+
expect(the_body).to eql body
|
56
|
+
end
|
57
|
+
|
58
|
+
unreceive!
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
let(:unreceive_headers) do
|
63
|
+
{ :dead_letter_queue => dlq, :max_redeliveries => max_redeliveries }
|
64
|
+
end
|
65
|
+
|
40
66
|
context 'On a message with no retry_count in the headers' do
|
41
67
|
before :each do
|
42
68
|
message.stub(:getStringProperty).with('retry_count').and_return(nil)
|
@@ -61,13 +87,10 @@ if RUBY_PLATFORM == 'java'
|
|
61
87
|
|
62
88
|
context 'that is less than max_redeliveries' do
|
63
89
|
let(:retry_count) { max_redeliveries - 1 }
|
64
|
-
|
65
90
|
it 'should publish it to the same destination with a retry_count increased by one' do
|
66
91
|
client.should_receive(:publish) do |dest, the_body, the_headers|
|
67
92
|
expect(dest).to eql orig_destination
|
68
93
|
expect(the_body).to eql body
|
69
|
-
|
70
|
-
|
71
94
|
expect(the_headers).to eql({'retry_count' => (retry_count + 1).to_s})
|
72
95
|
end
|
73
96
|
|
@@ -83,7 +106,6 @@ if RUBY_PLATFORM == 'java'
|
|
83
106
|
client.should_receive(:publish) do |dest, the_body, the_headers|
|
84
107
|
expect(the_body).to eql body
|
85
108
|
expect(dest).to eql dlq
|
86
|
-
|
87
109
|
expect(the_headers).to eql({:original_destination => orig_destination})
|
88
110
|
end
|
89
111
|
|
@@ -105,6 +127,32 @@ if RUBY_PLATFORM == 'java'
|
|
105
127
|
unreceive!
|
106
128
|
end
|
107
129
|
end
|
130
|
+
|
131
|
+
context 'with a topic url destination' do
|
132
|
+
let(:retry_count) { max_redeliveries + 1 }
|
133
|
+
let(:orig_destination) { 'topic://some_queue' }
|
134
|
+
it 'should succeed' do
|
135
|
+
client.should_receive(:publish) do |dest, the_body, the_headers|
|
136
|
+
expect(the_body).to eql body
|
137
|
+
expect(dest).to eql dlq
|
138
|
+
expect(the_headers).to eql({:original_destination => '/topic/some_queue'})
|
139
|
+
end
|
140
|
+
unreceive!
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
context 'with a queue url destination' do
|
145
|
+
let(:retry_count) { max_redeliveries + 1 }
|
146
|
+
let(:orig_destination) { 'queue://some_queue' }
|
147
|
+
it 'should succeed' do
|
148
|
+
client.should_receive(:publish) do |dest, the_body, the_headers|
|
149
|
+
expect(the_body).to eql body
|
150
|
+
expect(dest).to eql dlq
|
151
|
+
expect(the_headers).to eql({:original_destination => '/queue/some_queue'})
|
152
|
+
end
|
153
|
+
unreceive!
|
154
|
+
end
|
155
|
+
end
|
108
156
|
end
|
109
157
|
end
|
110
158
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stapfen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.2.
|
4
|
+
version: 3.0.2.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- R. Tyler Croy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thread_safe
|