logstash-input-stomp 2.0.2 → 2.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 40903a4e976bc127ff8626222a2ecd098a937099
4
- data.tar.gz: 17d0ec2bb78f62899ea0f3eacaa137b831a7f85d
3
+ metadata.gz: 68117f4113aa4a4902cb64977cb39d7fe88dd7bd
4
+ data.tar.gz: 4ac677fb36cb57017286f47504832615693478be
5
5
  SHA512:
6
- metadata.gz: 0627d11825ee37f8a8d8070bedb80d4146e8f4888ff1d0c220e25a3ee090619c80a6a6be140e0598ccc098e48df2d5f47d8860f50f464eaecf5f94b612a4ee64
7
- data.tar.gz: 4aae38021b6dbef1ffe38d1b4d25913bb09b9a1c285a0023342db59d3a9d17a679fee8a36ef6b7034237b2370a8dd5676f02696f2d5a25df54d6e9226c5f3c74
6
+ metadata.gz: 127e2e00f45257a518175f4686a4358c91f78ea6cc750ebb8a783dd3fd2b2c339cb43e9140c59120b6638221948940ccc98c91c4765061e0a73f40901cefb7fe
7
+ data.tar.gz: b54f4532a6c3d00bef14598d313b5e678131fb86e036b4f68eab306114ce5741e0e498bd910ede688546fd893c21001780f25c910028668f19c689ccbd6c7912
data/CHANGELOG.md CHANGED
@@ -1,5 +1,7 @@
1
+ ## 2.0.3
2
+ - Bugfix https://github.com/logstash-plugins/logstash-input-stomp/issues/10
3
+
1
4
  ## 2.0.0
2
- - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
5
+ - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
3
6
  instead of using Thread.raise on the plugins' threads. Ref: https://github.com/elastic/logstash/pull/3895
4
7
  - Dependency on logstash-core update to 2.0
5
-
data/CONTRIBUTORS CHANGED
@@ -1,6 +1,10 @@
1
1
  The following is a list of people who have contributed ideas, code, bug
2
2
  reports, or in general have helped logstash along its way.
3
3
 
4
+ Maintainers:
5
+
6
+ * Philippe Weber (wiibaa)
7
+
4
8
  Contributors:
5
9
  * Aaron Mildenstein (untergeek)
6
10
  * Brice Figureau (masterzen)
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Logstash Plugin
2
2
 
3
+ [![Build
4
+ Status](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Inputs/job/logstash-plugin-input-stomp-unit/badge/icon)](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Inputs/job/logstash-plugin-input-stomp-unit/)
5
+
3
6
  This is a plugin for [Logstash](https://github.com/elastic/logstash).
4
7
 
5
8
  It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.
@@ -36,10 +36,10 @@ class LogStash::Inputs::Stomp < LogStash::Inputs::Base
36
36
  private
37
37
  def connect
38
38
  begin
39
- client.connect
40
- @logger.debug("Connected to stomp server") if client.connected?
41
- rescue => e
42
- @logger.debug("Failed to connect to stomp server, will retry", :exception => e, :backtrace => e.backtrace)
39
+ @client.connect
40
+ @logger.debug? && @logger.debug("Connected to stomp server") if @client.connected?
41
+ rescue OnStomp::ConnectFailedError, OnStomp::UnsupportedProtocolVersionError=> e
42
+ @logger.warn("Failed to connect to stomp server, will retry", :exception => e, :backtrace => e.backtrace)
43
43
  if stop?
44
44
  sleep 2
45
45
  retry
@@ -50,12 +50,12 @@ class LogStash::Inputs::Stomp < LogStash::Inputs::Base
50
50
  public
51
51
  def register
52
52
  require "onstomp"
53
- client = new_client
54
- client.host = @vhost if @vhost
53
+ @client = new_client
54
+ @client.host = @vhost if @vhost
55
55
  @stomp_url = "stomp://#{@user}:#{@password}@#{@host}:#{@port}/#{@destination}"
56
56
 
57
- # Handle disconnects
58
- client.on_connection_closed {
57
+ # Handle disconnects
58
+ @client.on_connection_closed {
59
59
  connect
60
60
  subscription_handler # is required for re-subscribing to the destination
61
61
  }
@@ -68,7 +68,7 @@ class LogStash::Inputs::Stomp < LogStash::Inputs::Base
68
68
 
69
69
  private
70
70
  def subscription_handler
71
- client.subscribe(@destination) do |msg|
71
+ @client.subscribe(@destination) do |msg|
72
72
  @codec.decode(msg.body) do |event|
73
73
  decorate(event)
74
74
  @output_queue << event
@@ -87,7 +87,7 @@ class LogStash::Inputs::Stomp < LogStash::Inputs::Base
87
87
 
88
88
  public
89
89
  def run(output_queue)
90
- @output_queue = output_queue
90
+ @output_queue = output_queue
91
91
  subscription_handler
92
92
  end # def run
93
93
  end # class LogStash::Inputs::Stomp
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-input-stomp'
4
- s.version = '2.0.2'
4
+ s.version = '2.0.3'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Pull events from a stomp server"
7
7
  s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
@@ -27,4 +27,3 @@ Gem::Specification.new do |s|
27
27
 
28
28
  s.add_development_dependency 'logstash-devutils'
29
29
  end
30
-
@@ -2,14 +2,43 @@ require "logstash/devutils/rspec/spec_helper"
2
2
  require "logstash/inputs/stomp"
3
3
 
4
4
  describe LogStash::Inputs::Stomp do
5
+ let(:klass) { LogStash::Inputs::Stomp }
6
+ let(:host) { "localhost" }
7
+ let(:destination) { "/foo" }
8
+ let(:stomp_settings) {
9
+ {
10
+ "host" => host,
11
+ "destination" => destination
12
+ }
13
+ }
14
+ let(:instance) { klass.new(stomp_settings) }
15
+
16
+ context "when connected" do
17
+ let(:client) { double("client") }
18
+
19
+ before do
20
+ allow(instance).to receive(:new_client).and_return(client)
21
+ allow(client).to receive(:connect)
22
+ allow(client).to receive(:connected?).and_return(true)
23
+ allow(client).to receive(:on_connection_closed)
24
+ end
25
+
26
+ it "should register without error" do
27
+ instance.register
28
+ end
29
+ end
30
+
5
31
  describe "stopping" do
6
32
  let(:config) { {"host" => "localhost", "destination" => "/foo"} }
7
33
  let(:client) { double("client") }
8
34
  before do
9
- subject.client = client
35
+ allow(subject).to receive(:new_client).and_return(client)
10
36
  allow(subject).to receive(:connect)
37
+ allow(client).to receive(:connect)
38
+ allow(client).to receive(:connected?).and_return(true)
39
+ allow(client).to receive(:on_connection_closed)
11
40
  allow(client).to receive(:subscribe)
12
41
  end
13
42
  it_behaves_like "an interruptible input plugin"
14
43
  end
15
- end
44
+ end
metadata CHANGED
@@ -1,17 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-stomp
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-14 00:00:00.000000000 Z
11
+ date: 2016-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- requirement: !ruby/object:Gem::Requirement
14
+ name: logstash-core
15
+ version_requirements: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - '>='
17
18
  - !ruby/object:Gem::Version
@@ -19,10 +20,7 @@ dependencies:
19
20
  - - <
20
21
  - !ruby/object:Gem::Version
21
22
  version: 3.0.0
22
- name: logstash-core
23
- prerelease: false
24
- type: :runtime
25
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: !ruby/object:Gem::Requirement
26
24
  requirements:
27
25
  - - '>='
28
26
  - !ruby/object:Gem::Version
@@ -30,48 +28,50 @@ dependencies:
30
28
  - - <
31
29
  - !ruby/object:Gem::Version
32
30
  version: 3.0.0
31
+ prerelease: false
32
+ type: :runtime
33
33
  - !ruby/object:Gem::Dependency
34
+ name: logstash-codec-plain
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
34
40
  requirement: !ruby/object:Gem::Requirement
35
41
  requirements:
36
42
  - - '>='
37
43
  - !ruby/object:Gem::Version
38
44
  version: '0'
39
- name: logstash-codec-plain
40
45
  prerelease: false
41
46
  type: :runtime
47
+ - !ruby/object:Gem::Dependency
48
+ name: onstomp
42
49
  version_requirements: !ruby/object:Gem::Requirement
43
50
  requirements:
44
51
  - - '>='
45
52
  - !ruby/object:Gem::Version
46
53
  version: '0'
47
- - !ruby/object:Gem::Dependency
48
54
  requirement: !ruby/object:Gem::Requirement
49
55
  requirements:
50
56
  - - '>='
51
57
  - !ruby/object:Gem::Version
52
58
  version: '0'
53
- name: onstomp
54
59
  prerelease: false
55
60
  type: :runtime
61
+ - !ruby/object:Gem::Dependency
62
+ name: logstash-devutils
56
63
  version_requirements: !ruby/object:Gem::Requirement
57
64
  requirements:
58
65
  - - '>='
59
66
  - !ruby/object:Gem::Version
60
67
  version: '0'
61
- - !ruby/object:Gem::Dependency
62
68
  requirement: !ruby/object:Gem::Requirement
63
69
  requirements:
64
70
  - - '>='
65
71
  - !ruby/object:Gem::Version
66
72
  version: '0'
67
- name: logstash-devutils
68
73
  prerelease: false
69
74
  type: :development
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - '>='
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
75
  description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
76
76
  email: info@elastic.co
77
77
  executables: []