rservicebus 0.0.01 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/LICENSE +1 -1
  2. data/README.md +48 -0
  3. data/bin/{rservicebus2 → rservicebus} +2 -1
  4. data/lib/rservicebus.rb +15 -54
  5. data/lib/rservicebus/Agent.rb +21 -0
  6. data/lib/rservicebus/Config.rb +125 -0
  7. data/lib/rservicebus/ErrorMessage.rb +14 -0
  8. data/lib/rservicebus/HandlerLoader.rb +100 -0
  9. data/lib/rservicebus/Host.rb +340 -0
  10. data/lib/rservicebus/Message.rb +29 -0
  11. data/lib/rservicebus/Subscription.rb +13 -0
  12. data/lib/rservicebus/helper_functions.rb +8 -81
  13. metadata +23 -150
  14. checksums.yaml +0 -7
  15. data/bin/return_messages_to_source_queue +0 -114
  16. data/bin/rsb_ctl +0 -38
  17. data/bin/rservicebus2-create +0 -107
  18. data/bin/rservicebus2-init +0 -104
  19. data/bin/rservicebus2-transport +0 -16
  20. data/bin/send_empty_message +0 -15
  21. data/lib/rservicebus/agent.rb +0 -54
  22. data/lib/rservicebus/appresource.rb +0 -65
  23. data/lib/rservicebus/appresource/dir.rb +0 -29
  24. data/lib/rservicebus/appresource/file.rb +0 -8
  25. data/lib/rservicebus/appresource/fluiddb.rb +0 -24
  26. data/lib/rservicebus/appresource_configure.rb +0 -33
  27. data/lib/rservicebus/audit.rb +0 -28
  28. data/lib/rservicebus/circuitbreaker.rb +0 -79
  29. data/lib/rservicebus/config.rb +0 -168
  30. data/lib/rservicebus/cron_manager.rb +0 -76
  31. data/lib/rservicebus/endpointmapping.rb +0 -72
  32. data/lib/rservicebus/errormessage.rb +0 -14
  33. data/lib/rservicebus/handler_loader.rb +0 -162
  34. data/lib/rservicebus/handler_manager.rb +0 -131
  35. data/lib/rservicebus/host.rb +0 -487
  36. data/lib/rservicebus/message.rb +0 -78
  37. data/lib/rservicebus/message/statisticoutput.rb +0 -7
  38. data/lib/rservicebus/message/subscription.rb +0 -10
  39. data/lib/rservicebus/message/verboseoutput.rb +0 -7
  40. data/lib/rservicebus/monitor.rb +0 -61
  41. data/lib/rservicebus/monitor/csvdir.rb +0 -52
  42. data/lib/rservicebus/monitor/dir.rb +0 -139
  43. data/lib/rservicebus/monitor/dirnotifier.rb +0 -101
  44. data/lib/rservicebus/monitor/message.rb +0 -11
  45. data/lib/rservicebus/monitor/xmldir.rb +0 -11
  46. data/lib/rservicebus/monitor_configure.rb +0 -71
  47. data/lib/rservicebus/mq.rb +0 -98
  48. data/lib/rservicebus/mq/beanstalk.rb +0 -72
  49. data/lib/rservicebus/resource_manager.rb +0 -69
  50. data/lib/rservicebus/saga/base.rb +0 -17
  51. data/lib/rservicebus/saga/data.rb +0 -20
  52. data/lib/rservicebus/saga/manager.rb +0 -128
  53. data/lib/rservicebus/saga_loader.rb +0 -118
  54. data/lib/rservicebus/saga_storage.rb +0 -18
  55. data/lib/rservicebus/saga_storage/dir.rb +0 -87
  56. data/lib/rservicebus/saga_storage/inmemory.rb +0 -37
  57. data/lib/rservicebus/sendat_manager.rb +0 -33
  58. data/lib/rservicebus/sendat_storage.rb +0 -20
  59. data/lib/rservicebus/sendat_storage/file.rb +0 -37
  60. data/lib/rservicebus/sendat_storage/inmemory.rb +0 -20
  61. data/lib/rservicebus/state_manager.rb +0 -30
  62. data/lib/rservicebus/state_storage.rb +0 -18
  63. data/lib/rservicebus/state_storage/dir.rb +0 -66
  64. data/lib/rservicebus/state_storage/inmemory.rb +0 -25
  65. data/lib/rservicebus/statistic_manager.rb +0 -86
  66. data/lib/rservicebus/stats.rb +0 -68
  67. data/lib/rservicebus/subscription_manager.rb +0 -31
  68. data/lib/rservicebus/subscription_storage.rb +0 -39
  69. data/lib/rservicebus/subscription_storage/file.rb +0 -42
  70. data/lib/rservicebus/subscription_storage/redis.rb +0 -69
  71. data/lib/rservicebus/subscription_storage_configure.rb +0 -19
  72. data/lib/rservicebus/test.rb +0 -2
  73. data/lib/rservicebus/test/bus.rb +0 -32
  74. data/lib/rservicebus/transporter.rb +0 -142
  75. data/lib/rservicebus/usermessage/withpayload.rb +0 -10
@@ -0,0 +1,29 @@
1
+ module RServiceBus
2
+
3
+ class Message
4
+
5
+ attr_reader :returnAddress, :msgId
6
+
7
+ def initialize( msg, returnAddress )
8
+ @_msg=YAML::dump(msg)
9
+ @returnAddress=returnAddress
10
+
11
+ @msgId=UUIDTools::UUID.random_create
12
+ @errorList = Array.new
13
+ end
14
+
15
+ def addErrorMsg( sourceQueue, errorString )
16
+ @errorList << RServiceBus::ErrorMessage.new( sourceQueue, errorString )
17
+ end
18
+
19
+ def getLastErrorMsg
20
+ return @errorList.last
21
+ end
22
+
23
+ def msg
24
+ return YAML::load( @_msg )
25
+ end
26
+
27
+ end
28
+
29
+ end
@@ -0,0 +1,13 @@
1
+ module RServiceBus
2
+
3
+
4
+ class Subscription
5
+ attr_reader :eventName
6
+
7
+ def initialize( eventName )
8
+ @eventName=eventName
9
+ end
10
+
11
+ end
12
+
13
+ end
@@ -1,85 +1,12 @@
1
1
  module RServiceBus
2
- def self.convert_dto_to_hash(obj)
3
- hash = {}
4
- obj.instance_variables.each do |var|
5
- hash[var.to_s.delete('@')] = obj.instance_variable_get(var)
6
- end
7
- hash
8
- end
9
2
 
10
- def self.convert_dto_to_json(obj)
11
- convert_dto_to_hash(obj).to_json
12
- end
3
+ def RServiceBus.convertDTOToJson( obj )
4
+ hash = {};
5
+ obj.instance_variables.each {|var| hash[var.to_s.delete("@")] = obj.instance_variable_get(var) }
6
+
7
+ newOne = hash.to_json
13
8
 
14
- def self.log(string, ver = false)
15
- return if check_environment_variable('TESTING')
9
+ return newOne
10
+ end
16
11
 
17
- type = ver ? 'VERB' : 'INFO'
18
- if check_environment_variable('VERBOSE') || !ver
19
- timestamp = Time.new.strftime('%Y-%m-%d %H:%M:%S')
20
- puts "[#{type}] #{timestamp} :: #{string}"
21
- end
22
- end
23
-
24
- def self.rlog(string)
25
- return unless check_environment_variable('RSBVERBOSE')
26
-
27
- timestamp = Time.new.strftime('%Y-%m-%d %H:%M:%S')
28
- puts "[RSB] #{timestamp} :: #{string}"
29
- end
30
-
31
- def self.create_anonymous_class(name_for_class)
32
- new_anonymous_class = Class.new(Object)
33
- Object.const_set(name_for_class, new_anonymous_class)
34
- Object.const_get(name_for_class).new
35
- end
36
-
37
- def self.get_value(name, default = nil)
38
- value = (ENV[name].nil? || ENV[name] == '') ? default : ENV[name]
39
- log "Env value: #{name}: #{value}"
40
- value
41
- end
42
-
43
- def self.send_msg(msg, response_queue = 'agent')
44
- require 'rservicebus/endpointmapping'
45
- endpoint_mapping = EndpointMapping.new
46
- endpoint_mapping.configure
47
- queue_name = endpoint_mapping.get(msg.class.name)
48
-
49
- ENV['RSBMQ'] = 'beanstalk://localhost' if ENV['RSBMQ'].nil?
50
- agent = RServiceBus::Agent.new
51
- Audit.new(agent).audit_to_queue(msg)
52
- agent.send_msg(msg, queue_name, response_queue)
53
-
54
- rescue QueueNotFoundForMsg => e
55
- msg = "\n"
56
- msg = "#{msg}*** Queue not found for, #{e.message}\n"
57
- msg = "#{msg}*** Ensure you have an environment variable set for this
58
- Message Type, eg, \n"
59
- msg = "#{msg}*** MESSAGE_ENDPOINT_MAPPINGS=#{e.message}:<QueueName>\n"
60
- raise StandardError, msg
61
- end
62
-
63
- def self.check_for_reply(queue_name)
64
- ENV['RSBMQ'] = 'beanstalk://localhost' if ENV['RSBMQ'].nil?
65
- agent = RServiceBus::Agent.new
66
- msg = agent.check_for_reply(queue_name)
67
- Audit.new(agent).audit_incoming(msg)
68
-
69
- msg
70
- end
71
-
72
- def self.tick(string)
73
- puts "[TICK] #{Time.new.strftime('%Y-%m-%d %H:%M:%S.%6N')} ::
74
- #{caller[0]}. #{string}"
75
- end
76
-
77
- def self.check_environment_variable(string)
78
- return false if ENV[string].nil?
79
- return true if ENV[string] == true || ENV[string] =~ (/(true|t|yes|y|1)$/i)
80
- return false if ENV[string] == false ||
81
- ENV[string].nil? ||
82
- ENV[string] =~ (/(false|f|no|n|0)$/i)
83
- fail ArgumentError, "invalid value for Environment Variable: \"#{string}\""
84
- end
85
- end
12
+ end
metadata CHANGED
@@ -1,184 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rservicebus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.01
4
+ version: 0.0.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Guy Irvine
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-07-12 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: uuidtools
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: json
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: beanstalk-client
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: fluiddb
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: parse-cron
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- description: A Ruby interpretation of NServiceBus
12
+ date: 2012-06-08 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: A ruby implementation of NServiceBus
84
15
  email: guy@guyirvine.com
85
16
  executables:
86
- - rservicebus2
87
- - rservicebus2-init
88
- - return_messages_to_source_queue
89
- - send_empty_message
90
- - rservicebus2-transport
91
- - rservicebus2-create
17
+ - rservicebus
92
18
  extensions: []
93
19
  extra_rdoc_files: []
94
20
  files:
95
- - lib/rservicebus/agent.rb
96
- - lib/rservicebus/appresource/dir.rb
97
- - lib/rservicebus/appresource/file.rb
98
- - lib/rservicebus/appresource/fluiddb.rb
99
- - lib/rservicebus/appresource.rb
100
- - lib/rservicebus/appresource_configure.rb
101
- - lib/rservicebus/audit.rb
102
- - lib/rservicebus/circuitbreaker.rb
103
- - lib/rservicebus/config.rb
104
- - lib/rservicebus/cron_manager.rb
105
- - lib/rservicebus/endpointmapping.rb
106
- - lib/rservicebus/errormessage.rb
107
- - lib/rservicebus/handler_loader.rb
108
- - lib/rservicebus/handler_manager.rb
21
+ - lib/rservicebus/Agent.rb
22
+ - lib/rservicebus/Config.rb
23
+ - lib/rservicebus/ErrorMessage.rb
24
+ - lib/rservicebus/HandlerLoader.rb
109
25
  - lib/rservicebus/helper_functions.rb
110
- - lib/rservicebus/host.rb
111
- - lib/rservicebus/message/statisticoutput.rb
112
- - lib/rservicebus/message/subscription.rb
113
- - lib/rservicebus/message/verboseoutput.rb
114
- - lib/rservicebus/message.rb
115
- - lib/rservicebus/monitor/csvdir.rb
116
- - lib/rservicebus/monitor/dir.rb
117
- - lib/rservicebus/monitor/dirnotifier.rb
118
- - lib/rservicebus/monitor/message.rb
119
- - lib/rservicebus/monitor/xmldir.rb
120
- - lib/rservicebus/monitor.rb
121
- - lib/rservicebus/monitor_configure.rb
122
- - lib/rservicebus/mq/beanstalk.rb
123
- - lib/rservicebus/mq.rb
124
- - lib/rservicebus/resource_manager.rb
125
- - lib/rservicebus/saga/base.rb
126
- - lib/rservicebus/saga/data.rb
127
- - lib/rservicebus/saga/manager.rb
128
- - lib/rservicebus/saga_loader.rb
129
- - lib/rservicebus/saga_storage/dir.rb
130
- - lib/rservicebus/saga_storage/inmemory.rb
131
- - lib/rservicebus/saga_storage.rb
132
- - lib/rservicebus/sendat_manager.rb
133
- - lib/rservicebus/sendat_storage/file.rb
134
- - lib/rservicebus/sendat_storage/inmemory.rb
135
- - lib/rservicebus/sendat_storage.rb
136
- - lib/rservicebus/state_manager.rb
137
- - lib/rservicebus/state_storage/dir.rb
138
- - lib/rservicebus/state_storage/inmemory.rb
139
- - lib/rservicebus/state_storage.rb
140
- - lib/rservicebus/statistic_manager.rb
141
- - lib/rservicebus/stats.rb
142
- - lib/rservicebus/subscription_manager.rb
143
- - lib/rservicebus/subscription_storage/file.rb
144
- - lib/rservicebus/subscription_storage/redis.rb
145
- - lib/rservicebus/subscription_storage.rb
146
- - lib/rservicebus/subscription_storage_configure.rb
147
- - lib/rservicebus/test/bus.rb
148
- - lib/rservicebus/test.rb
149
- - lib/rservicebus/transporter.rb
150
- - lib/rservicebus/usermessage/withpayload.rb
26
+ - lib/rservicebus/Host.rb
27
+ - lib/rservicebus/Message.rb
28
+ - lib/rservicebus/Subscription.rb
151
29
  - lib/rservicebus.rb
152
- - bin/return_messages_to_source_queue
153
- - bin/rsb_ctl
154
- - bin/rservicebus2
155
- - bin/rservicebus2-create
156
- - bin/rservicebus2-init
157
- - bin/rservicebus2-transport
158
- - bin/send_empty_message
30
+ - bin/rservicebus
159
31
  - LICENSE
160
- homepage: http://rubygems.org/gems/rservicebus2
161
- licenses:
162
- - LGPL-3.0
163
- metadata: {}
32
+ - README.md
33
+ homepage: http://rubygems.org/gems/rservicebus
34
+ licenses: []
164
35
  post_install_message:
165
36
  rdoc_options: []
166
37
  require_paths:
167
38
  - lib
168
39
  required_ruby_version: !ruby/object:Gem::Requirement
40
+ none: false
169
41
  requirements:
170
- - - '>='
42
+ - - ! '>='
171
43
  - !ruby/object:Gem::Version
172
44
  version: '0'
173
45
  required_rubygems_version: !ruby/object:Gem::Requirement
46
+ none: false
174
47
  requirements:
175
- - - '>='
48
+ - - ! '>='
176
49
  - !ruby/object:Gem::Version
177
50
  version: '0'
178
51
  requirements: []
179
52
  rubyforge_project:
180
- rubygems_version: 2.0.14.1
53
+ rubygems_version: 1.8.11
181
54
  signing_key:
182
- specification_version: 4
55
+ specification_version: 3
183
56
  summary: RServiceBus
184
57
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 0c210488f5742bbdd7e68c7cd5562a8ac12145a1
4
- data.tar.gz: 85465c96ba453c1cca9e9d9763d99189b635cc4c
5
- SHA512:
6
- metadata.gz: a4b8b205a755636d9fe101d67bf2bc676b186f47d256d07784774966c7666e0ea9c9853d06396e93f350c85296f23e9651c6809d88cc77fe97d20e72c4848594
7
- data.tar.gz: e5eb45cad62fb91eca1be57b27fbf161d23c23d57973456ce949166dd271cc21fddeefee1eb7ea63c24cc572fce940b5e2bf8a9d0b4fcbaa8f4a7613edda13c4
@@ -1,114 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'yaml'
4
- require 'beanstalk-client'
5
- require 'rservicebus'
6
-
7
- def returnMsg( beanstalk, job, request_nbr )
8
- firstMatch = 'ruby/object:'
9
-
10
- payload = job.body
11
-
12
- firstIndex = payload.index( firstMatch )
13
- startIndex = payload.index( firstMatch, firstIndex + 1 ) + firstMatch.length
14
-
15
- msgName = payload.match( '(\w*)', startIndex )[1]
16
-
17
- msg = YAML::load(payload)
18
- if msg.lastErrorString.nil? then
19
- puts "*** Requested msg, #{request_nbr}, does not have a sourceQueue to which it can be returned"
20
- puts '*** Only errored msgs can be Returned'
21
- puts '*** Generally, msgs would not be manually moved between queues'
22
- puts '*** If you do need to, try'
23
- puts '*** beanstalk-admin-dump <source queue name> | beanstalk-admin-load <destination queue name>'
24
-
25
- job.release
26
- return
27
- end
28
- queueName = msg.lastErrorSourceQueue
29
- puts '#' + "#{request_nbr.to_s}: #{msgName} to #{queueName}"
30
-
31
- beanstalk.use( queueName )
32
- beanstalk.put( payload )
33
-
34
- job.delete
35
- end
36
-
37
-
38
- index=nil
39
- if ARGV.length == 0 then
40
- queueName = 'error'
41
- elsif ARGV.length == 1 then
42
- queueName = ARGV[0]
43
- elsif ARGV.length == 2 then
44
- queueName = ARGV[0]
45
- index = ARGV[1].to_i
46
- else
47
- abort('Usage: ReturnMessagesToSourceQueue [queue name] [index]')
48
- end
49
-
50
- begin
51
- host = 'localhost:11300'
52
- beanstalk = Beanstalk::Pool.new([host])
53
-
54
- tubes = beanstalk.list_tubes[host]
55
- unless tubes.include?(queueName) then
56
- abort("Nothing waiting on the Beanstalk queue, #{queueName}")
57
- end
58
-
59
- tubeStats = beanstalk.stats_tube(queueName)
60
- number_of_messages = tubeStats['current-jobs-ready']
61
- if index.nil? then
62
- puts
63
- puts "Attempting to return #{number_of_messages} to their source queue"
64
- puts
65
-
66
- begin
67
- beanstalk.watch(queueName)
68
- 1.upto(number_of_messages) do |request_nbr|
69
- job = beanstalk.reserve 1
70
-
71
- returnMsg( beanstalk, job, request_nbr )
72
- end
73
- rescue Exception => e
74
- if e.message == 'TIMED_OUT' then
75
- else
76
- raise
77
- end
78
- end
79
- else
80
- if index > number_of_messages then
81
- puts "*** Requested msg, #{index}, is greater than the number of msgs in the queue, #{number_of_messages}"
82
- puts '*** Try a smaller index, or remove the index number to return all msgs'
83
- abort();
84
- end
85
-
86
- puts
87
- puts "Attempting to msg number, #{index} to it's source queue"
88
- puts
89
-
90
- begin
91
- beanstalk.watch(queueName)
92
- jobList = Array.new
93
- 1.upto(index-1) do |request_nbr|
94
- job = beanstalk.reserve 1
95
- jobList << job
96
- end
97
- job = beanstalk.reserve 1
98
- returnMsg( beanstalk, job, index )
99
-
100
- jobList.each do |job|
101
- job.release
102
- end
103
-
104
- rescue Exception => e
105
- if e.message == 'TIMED_OUT' then
106
- else
107
- raise
108
- end
109
- end
110
- end
111
-
112
- rescue Beanstalk::NotConnected=>e
113
- puts 'Beanstalk not running'
114
- end