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.
Files changed (70) hide show
  1. data/HISTORY.md +15 -0
  2. data/README.md +27 -28
  3. data/Rakefile +7 -1
  4. data/doc/classes/JMS.html +265 -0
  5. data/doc/classes/JMS/BytesMessage.html +215 -0
  6. data/doc/classes/JMS/Connection.html +1145 -0
  7. data/doc/classes/JMS/MapMessage.html +333 -0
  8. data/doc/classes/JMS/Message.html +1085 -0
  9. data/doc/classes/JMS/MessageConsumer.html +316 -0
  10. data/doc/classes/JMS/MessageListenerImpl.html +262 -0
  11. data/doc/classes/JMS/ObjectMessage.html +170 -0
  12. data/doc/classes/JMS/OracleAQConnectionFactory.html +184 -0
  13. data/doc/classes/JMS/QueueBrowser.html +155 -0
  14. data/doc/classes/JMS/Session.html +947 -0
  15. data/doc/classes/JMS/SessionPool.html +411 -0
  16. data/doc/classes/JMS/TextMessage.html +194 -0
  17. data/doc/created.rid +1 -0
  18. data/doc/files/README_md.html +440 -0
  19. data/doc/files/lib/jms/bytes_message_rb.html +122 -0
  20. data/doc/files/lib/jms/connection_rb.html +140 -0
  21. data/doc/files/lib/jms/imports_rb.html +108 -0
  22. data/doc/files/lib/jms/logging_rb.html +129 -0
  23. data/doc/files/lib/jms/map_message_rb.html +122 -0
  24. data/doc/files/lib/jms/message_consumer_rb.html +122 -0
  25. data/doc/files/lib/jms/message_listener_impl_rb.html +122 -0
  26. data/doc/files/lib/jms/message_rb.html +122 -0
  27. data/doc/files/lib/jms/object_message_rb.html +122 -0
  28. data/doc/files/lib/jms/oracle_a_q_connection_factory_rb.html +122 -0
  29. data/doc/files/lib/jms/queue_browser_rb.html +122 -0
  30. data/doc/files/lib/jms/session_pool_rb.html +108 -0
  31. data/doc/files/lib/jms/session_rb.html +164 -0
  32. data/doc/files/lib/jms/text_message_rb.html +122 -0
  33. data/doc/files/lib/jms_rb.html +131 -0
  34. data/doc/fr_class_index.html +39 -0
  35. data/doc/fr_file_index.html +42 -0
  36. data/doc/fr_method_index.html +120 -0
  37. data/doc/index.html +24 -0
  38. data/doc/rdoc-style.css +208 -0
  39. data/examples/advanced/session_pool.rb +37 -0
  40. data/examples/client-server/replier.rb +29 -0
  41. data/examples/client-server/requestor.rb +40 -0
  42. data/examples/jms.yml +85 -9
  43. data/examples/performance/consumer.rb +6 -8
  44. data/examples/performance/producer.rb +10 -10
  45. data/examples/producer-consumer/browser.rb +24 -0
  46. data/examples/{consumer.rb → producer-consumer/consumer.rb} +5 -4
  47. data/examples/producer-consumer/consumer_async.rb +30 -0
  48. data/examples/{producer.rb → producer-consumer/producer.rb} +5 -3
  49. data/examples/publish-subscribe/publish.rb +24 -0
  50. data/examples/publish-subscribe/subscribe.rb +31 -0
  51. data/lib/jms/bytes_message.rb +52 -0
  52. data/lib/jms/connection.rb +170 -162
  53. data/lib/jms/imports.rb +21 -0
  54. data/lib/jms/logging.rb +17 -1
  55. data/lib/jms/{javax_jms_map_message.rb → map_message.rb} +2 -2
  56. data/lib/jms/message.rb +285 -0
  57. data/lib/jms/{javax_jms_message_consumer.rb → message_consumer.rb} +6 -3
  58. data/lib/jms/{message_listener.rb → message_listener_impl.rb} +3 -3
  59. data/lib/jms/{javax_jms_object_message.rb → object_message.rb} +1 -1
  60. data/lib/jms/oracle_a_q_connection_factory.rb +35 -0
  61. data/lib/jms/{javax_jms_queue_browser.rb → queue_browser.rb} +5 -4
  62. data/lib/jms/{javax_jms_session.rb → session.rb} +23 -25
  63. data/lib/jms/session_pool.rb +148 -0
  64. data/lib/jms/{javax_jms_text_message.rb → text_message.rb} +1 -1
  65. data/test/connection_test.rb +31 -29
  66. data/test/jms.yml +8 -9
  67. data/test/message_test.rb +29 -29
  68. data/test/session_test.rb +39 -39
  69. metadata +62 -22
  70. data/lib/jms/javax_jms_message.rb +0 -264
data/test/jms.yml CHANGED
@@ -13,10 +13,10 @@ activemq:
13
13
  :factory: org.apache.activemq.ActiveMQConnectionFactory
14
14
  :broker_url: tcp://localhost:61616
15
15
  :require_jars:
16
- - ~/Applications/apache-activemq-5.4.2/activemq-all-5.4.2.jar
16
+ - ~/Applications/apache-activemq-5.4.2-fuse-03-09/activemq-all-5.4.2-fuse-03-09.jar
17
17
  :queue_name: TestQueue
18
18
  :topic_name: TestTopic
19
-
19
+
20
20
  hornetq:
21
21
  # Connect to a local HornetQ Broker using JNDI
22
22
  :jndi_name: /ConnectionFactory
@@ -27,12 +27,11 @@ hornetq:
27
27
  java.naming.security.principal: guest
28
28
  java.naming.security.credentials: guest
29
29
  :require_jars:
30
- - ~/Applications/hornetq-2.1.2.Final/lib/hornetq-core-client.jar
31
- - ~/Applications/hornetq-2.1.2.Final/lib/hornetq-core.jar
32
- - ~/Applications/hornetq-2.1.2.Final/lib/hornetq-jms-client.jar
33
- - ~/Applications/hornetq-2.1.2.Final/lib/jboss-jms-api.jar
34
- - ~/Applications/hornetq-2.1.2.Final/lib/jnp-client.jar
35
- - ~/Applications/hornetq-2.1.2.Final/lib/netty.jar
30
+ - ~/Applications/hornetq-2.2.2.Final/lib/hornetq-core-client.jar
31
+ - ~/Applications/hornetq-2.2.2.Final/lib/hornetq-core.jar
32
+ - ~/Applications/hornetq-2.2.2.Final/lib/hornetq-jms-client.jar
33
+ - ~/Applications/hornetq-2.2.2.Final/lib/jboss-jms-api.jar
34
+ - ~/Applications/hornetq-2.2.2.Final/lib/jnp-client.jar
35
+ - ~/Applications/hornetq-2.2.2.Final/lib/netty.jar
36
36
  :queue_name: TestQueue
37
37
  :topic_name: TestTopic
38
-
data/test/message_test.rb CHANGED
@@ -12,16 +12,16 @@ class JMSTest < Test::Unit::TestCase
12
12
  # Load configuration from jms.yml
13
13
  setup do
14
14
  # To change the JMS provider, edit jms.yml and change :default
15
-
15
+
16
16
  # Load Connection parameters from configuration file
17
17
  cfg = YAML.load_file(File.join(File.dirname(__FILE__), 'jms.yml'))
18
18
  jms_provider = cfg['default']
19
19
  @config = cfg[jms_provider]
20
20
  raise "JMS Provider option:#{jms_provider} not found in jms.yml file" unless @config
21
- @queue_name = @config[:queue_name] || raise("Mandatory :queue_name missing from jms.yml")
22
- @topic_name = @config[:topic_name] || raise("Mandatory :topic_name missing from jms.yml")
21
+ @queue_name = @config.delete(:queue_name) || raise("Mandatory :queue_name missing from jms.yml")
22
+ @topic_name = @config.delete(:topic_name) || raise("Mandatory :topic_name missing from jms.yml")
23
23
  end
24
-
24
+
25
25
  should 'produce and consume messages to/from a temporary queue' do
26
26
  JMS::Connection.session(@config) do |session|
27
27
  assert_not_nil session
@@ -29,10 +29,10 @@ class JMSTest < Test::Unit::TestCase
29
29
  session.producer(:queue_name => :temporary) do |producer|
30
30
  # Send Message
31
31
  producer.send(session.message('Hello World'))
32
-
32
+
33
33
  # Consume Message
34
34
  session.consume(:destination => producer.destination) do |message|
35
- assert_equal message.java_kind_of?(javax.jms::TextMessage), true
35
+ assert_equal message.java_kind_of?(JMS::TextMessage), true
36
36
  data = message.data
37
37
  end
38
38
  end
@@ -48,16 +48,16 @@ class JMSTest < Test::Unit::TestCase
48
48
  session.producer(:queue_name => @queue_name) do |producer|
49
49
  # Send Message
50
50
  producer.send(session.message('Hello World'))
51
-
51
+
52
52
  # Browse Message
53
- session.browse(:queue_name => @queue_name) do |message|
54
- assert_equal message.java_kind_of?(javax.jms::TextMessage), true
53
+ session.browse(:queue_name => @queue_name, :timeout=>1000) do |message|
54
+ assert_equal message.java_kind_of?(JMS::TextMessage), true
55
55
  browse_data = message.data
56
56
  end
57
-
57
+
58
58
  # Consume Message
59
59
  session.consume(:queue_name => @queue_name) do |message|
60
- assert_equal message.java_kind_of?(javax.jms::TextMessage), true
60
+ assert_equal message.java_kind_of?(JMS::TextMessage), true
61
61
  data = message.data
62
62
  end
63
63
  end
@@ -69,30 +69,30 @@ class JMSTest < Test::Unit::TestCase
69
69
  should 'support setting persistence using symbols and the java constants' do
70
70
  JMS::Connection.session(@config) do |session|
71
71
  message = session.message('Hello World')
72
- assert_equal message.jms_delivery_mode, :non_persistent
73
- message.jms_delivery_mode = :non_persistent
74
- assert_equal message.jms_delivery_mode, :non_persistent
75
- message.jms_delivery_mode = :persistent
76
- assert_equal message.jms_delivery_mode, :persistent
72
+ assert_equal message.jms_delivery_mode_sym, :non_persistent
73
+ message.jms_delivery_mode_sym = :non_persistent
74
+ assert_equal message.jms_delivery_mode_sym, :non_persistent
75
+ message.jms_delivery_mode_sym = :persistent
76
+ assert_equal message.jms_delivery_mode_sym, :persistent
77
77
  end
78
- end
79
-
78
+ end
79
+
80
80
  should 'produce and consume non-persistent messages' do
81
81
  JMS::Connection.session(@config) do |session|
82
82
  assert_not_nil session
83
83
  data = nil
84
84
  session.producer(:queue_name => :temporary) do |producer|
85
85
  message = session.message('Hello World')
86
- message.jms_delivery_mode = :non_persistent
87
- assert_equal :non_persistent, message.jms_delivery_mode
86
+ message.jms_delivery_mode_sym = :non_persistent
87
+ assert_equal :non_persistent, message.jms_delivery_mode_sym
88
88
  assert_equal false, message.persistent?
89
-
89
+
90
90
  # Send Message
91
91
  producer.send(message)
92
-
92
+
93
93
  # Consume Message
94
94
  session.consume(:destination => producer.destination) do |message|
95
- assert_equal message.java_kind_of?(javax.jms::TextMessage), true
95
+ assert_equal message.java_kind_of?(JMS::TextMessage), true
96
96
  data = message.data
97
97
  #assert_equal :non_persistent, message.jms_delivery_mode
98
98
  #assert_equal false, message.persistent?
@@ -108,18 +108,18 @@ class JMSTest < Test::Unit::TestCase
108
108
  data = nil
109
109
  session.producer(:queue_name => :temporary) do |producer|
110
110
  message = session.message('Hello World')
111
- message.jms_delivery_mode = :persistent
112
- assert_equal :persistent, message.jms_delivery_mode
111
+ message.jms_delivery_mode_sym = :persistent
112
+ assert_equal :persistent, message.jms_delivery_mode_sym
113
113
  assert_equal true, message.persistent?
114
-
114
+
115
115
  # Send Message
116
116
  producer.send(message)
117
-
117
+
118
118
  # Consume Message
119
119
  session.consume(:destination => producer.destination) do |message|
120
- assert_equal message.java_kind_of?(javax.jms::TextMessage), true
120
+ assert_equal message.java_kind_of?(JMS::TextMessage), true
121
121
  data = message.data
122
- assert_equal :persistent, message.jms_delivery_mode
122
+ assert_equal :persistent, message.jms_delivery_mode_sym
123
123
  assert_equal true, message.persistent?
124
124
  end
125
125
  end
data/test/session_test.rb CHANGED
@@ -12,14 +12,14 @@ class JMSTest < Test::Unit::TestCase
12
12
  # Load configuration from jms.yml
13
13
  setup do
14
14
  # To change the JMS provider, edit jms.yml and change :default
15
-
15
+
16
16
  # Load Connection parameters from configuration file
17
17
  cfg = YAML.load_file(File.join(File.dirname(__FILE__), 'jms.yml'))
18
18
  jms_provider = cfg['default']
19
19
  @config = cfg[jms_provider]
20
20
  raise "JMS Provider option:#{jms_provider} not found in jms.yml file" unless @config
21
- @queue_name = @config[:queue_name] || raise("Mandatory :queue_name missing from jms.yml")
22
- @topic_name = @config[:topic_name] || raise("Mandatory :topic_name missing from jms.yml")
21
+ @queue_name = @config.delete(:queue_name) || raise("Mandatory :queue_name missing from jms.yml")
22
+ @topic_name = @config.delete(:topic_name) || raise("Mandatory :topic_name missing from jms.yml")
23
23
  end
24
24
 
25
25
  should 'create a session' do
@@ -32,10 +32,10 @@ class JMSTest < Test::Unit::TestCase
32
32
  JMS::Connection.session(@config) do |session|
33
33
  assert_not_nil session
34
34
  # Create Text Message
35
- assert_equal session.message("Hello").java_kind_of?(javax.jms::TextMessage), true
36
-
35
+ assert_equal session.message("Hello").java_kind_of?(JMS::TextMessage), true
36
+
37
37
  # Create Map Message
38
- assert_equal session.message('hello'=>'world').java_kind_of?(javax.jms::MapMessage), true
38
+ assert_equal session.message('hello'=>'world').java_kind_of?(JMS::MapMessage), true
39
39
  end
40
40
  end
41
41
 
@@ -43,98 +43,98 @@ class JMSTest < Test::Unit::TestCase
43
43
  JMS::Connection.session(@config) do |session|
44
44
  assert_not_nil session
45
45
  # Create Text Message
46
- assert_equal session.create_text_message("Hello").java_kind_of?(javax.jms::TextMessage), true
47
-
46
+ assert_equal session.create_text_message("Hello").java_kind_of?(JMS::TextMessage), true
47
+
48
48
  # Create Map Message
49
- assert_equal session.create_map_message.java_kind_of?(javax.jms::MapMessage), true
49
+ assert_equal session.create_map_message.java_kind_of?(JMS::MapMessage), true
50
50
  end
51
51
  end
52
-
52
+
53
53
  should 'create temporary destinations in blocks' do
54
54
  JMS::Connection.session(@config) do |session|
55
55
  assert_not_nil session
56
-
56
+
57
57
  # Temporary Queue
58
58
  session.destination(:queue_name => :temporary) do |destination|
59
- assert_equal destination.java_kind_of?(javax.jms::TemporaryQueue), true
59
+ assert_equal destination.java_kind_of?(JMS::TemporaryQueue), true
60
60
  end
61
-
61
+
62
62
  # Temporary Topic
63
63
  session.create_destination(:topic_name => :temporary) do |destination|
64
- assert_equal destination.java_kind_of?(javax.jms::TemporaryTopic), true
64
+ assert_equal destination.java_kind_of?(JMS::TemporaryTopic), true
65
65
  end
66
66
  end
67
67
  end
68
-
68
+
69
69
  should 'create temporary destinations' do
70
70
  JMS::Connection.session(@config) do |session|
71
71
  assert_not_nil session
72
-
72
+
73
73
  # Temporary Queue
74
74
  destination = session.create_destination(:queue_name => :temporary)
75
- assert_equal destination.java_kind_of?(javax.jms::TemporaryQueue), true
75
+ assert_equal destination.java_kind_of?(JMS::TemporaryQueue), true
76
76
  destination.delete
77
-
77
+
78
78
  # Temporary Topic
79
79
  destination = session.create_destination(:topic_name => :temporary)
80
- assert_equal destination.java_kind_of?(javax.jms::TemporaryTopic), true
80
+ assert_equal destination.java_kind_of?(JMS::TemporaryTopic), true
81
81
  destination.delete
82
82
  end
83
83
  end
84
-
84
+
85
85
  should 'create destinations in blocks' do
86
86
  JMS::Connection.session(@config) do |session|
87
87
  assert_not_nil session
88
-
88
+
89
89
  # Temporary Queue
90
90
  session.destination(:queue_name => @queue_name) do |destination|
91
- assert_equal destination.java_kind_of?(javax.jms::Queue), true
91
+ assert_equal destination.java_kind_of?(JMS::Queue), true
92
92
  end
93
-
93
+
94
94
  # Temporary Topic
95
95
  session.create_destination(:topic_name => @topic_name) do |destination|
96
- assert_equal destination.java_kind_of?(javax.jms::Topic), true
96
+ assert_equal destination.java_kind_of?(JMS::Topic), true
97
97
  end
98
98
  end
99
99
  end
100
-
100
+
101
101
  should 'create destinations' do
102
102
  JMS::Connection.session(@config) do |session|
103
103
  assert_not_nil session
104
-
104
+
105
105
  # Queue
106
106
  queue = session.create_destination(:queue_name => @queue_name)
107
- assert_equal queue.java_kind_of?(javax.jms::Queue), true
108
-
107
+ assert_equal queue.java_kind_of?(JMS::Queue), true
108
+
109
109
  # Topic
110
110
  topic = session.create_destination(:topic_name => @topic_name)
111
- assert_equal topic.java_kind_of?(javax.jms::Topic), true
111
+ assert_equal topic.java_kind_of?(JMS::Topic), true
112
112
  end
113
113
  end
114
-
114
+
115
115
  should 'create destinations using direct methods' do
116
116
  JMS::Connection.session(@config) do |session|
117
117
  assert_not_nil session
118
-
118
+
119
119
  # Queue
120
120
  queue = session.queue(@queue_name)
121
- assert_equal queue.java_kind_of?(javax.jms::Queue), true
122
-
121
+ assert_equal queue.java_kind_of?(JMS::Queue), true
122
+
123
123
  # Temporary Queue
124
124
  queue = session.temporary_queue
125
- assert_equal queue.java_kind_of?(javax.jms::TemporaryQueue), true
125
+ assert_equal queue.java_kind_of?(JMS::TemporaryQueue), true
126
126
  queue.delete
127
-
127
+
128
128
  # Topic
129
129
  topic = session.topic(@topic_name)
130
- assert_equal topic.java_kind_of?(javax.jms::Topic), true
131
-
130
+ assert_equal topic.java_kind_of?(JMS::Topic), true
131
+
132
132
  # Temporary Topic
133
133
  topic = session.temporary_topic
134
- assert_equal topic.java_kind_of?(javax.jms::TemporaryTopic), true
134
+ assert_equal topic.java_kind_of?(JMS::TemporaryTopic), true
135
135
  topic.delete
136
136
  end
137
137
  end
138
-
138
+
139
139
  end
140
140
  end
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jruby-jms
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 10
8
- - 2
9
- version: 0.10.2
4
+ prerelease:
5
+ version: 0.11.0
10
6
  platform: ruby
11
7
  authors:
12
8
  - Reid Morrison
@@ -14,7 +10,7 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2011-02-23 00:00:00 -05:00
13
+ date: 2011-04-19 00:00:00 -04:00
18
14
  default_executable:
19
15
  dependencies: []
20
16
 
@@ -31,22 +27,68 @@ files:
31
27
  - LICENSE.txt
32
28
  - Rakefile
33
29
  - README.md
34
- - examples/consumer.rb
30
+ - doc/created.rid
31
+ - doc/fr_class_index.html
32
+ - doc/fr_file_index.html
33
+ - doc/fr_method_index.html
34
+ - doc/index.html
35
+ - doc/rdoc-style.css
36
+ - doc/classes/JMS.html
37
+ - doc/classes/JMS/BytesMessage.html
38
+ - doc/classes/JMS/Connection.html
39
+ - doc/classes/JMS/MapMessage.html
40
+ - doc/classes/JMS/Message.html
41
+ - doc/classes/JMS/MessageConsumer.html
42
+ - doc/classes/JMS/MessageListenerImpl.html
43
+ - doc/classes/JMS/ObjectMessage.html
44
+ - doc/classes/JMS/OracleAQConnectionFactory.html
45
+ - doc/classes/JMS/QueueBrowser.html
46
+ - doc/classes/JMS/Session.html
47
+ - doc/classes/JMS/SessionPool.html
48
+ - doc/classes/JMS/TextMessage.html
49
+ - doc/files/README_md.html
50
+ - doc/files/lib/jms_rb.html
51
+ - doc/files/lib/jms/bytes_message_rb.html
52
+ - doc/files/lib/jms/connection_rb.html
53
+ - doc/files/lib/jms/imports_rb.html
54
+ - doc/files/lib/jms/logging_rb.html
55
+ - doc/files/lib/jms/map_message_rb.html
56
+ - doc/files/lib/jms/message_consumer_rb.html
57
+ - doc/files/lib/jms/message_listener_impl_rb.html
58
+ - doc/files/lib/jms/message_rb.html
59
+ - doc/files/lib/jms/object_message_rb.html
60
+ - doc/files/lib/jms/oracle_a_q_connection_factory_rb.html
61
+ - doc/files/lib/jms/queue_browser_rb.html
62
+ - doc/files/lib/jms/session_pool_rb.html
63
+ - doc/files/lib/jms/session_rb.html
64
+ - doc/files/lib/jms/text_message_rb.html
35
65
  - examples/jms.yml
36
- - examples/producer.rb
66
+ - examples/advanced/session_pool.rb
67
+ - examples/client-server/replier.rb
68
+ - examples/client-server/requestor.rb
37
69
  - examples/performance/consumer.rb
38
70
  - examples/performance/producer.rb
71
+ - examples/producer-consumer/browser.rb
72
+ - examples/producer-consumer/consumer.rb
73
+ - examples/producer-consumer/consumer_async.rb
74
+ - examples/producer-consumer/producer.rb
75
+ - examples/publish-subscribe/publish.rb
76
+ - examples/publish-subscribe/subscribe.rb
39
77
  - lib/jms.rb
78
+ - lib/jms/bytes_message.rb
40
79
  - lib/jms/connection.rb
41
- - lib/jms/javax_jms_map_message.rb
42
- - lib/jms/javax_jms_message.rb
43
- - lib/jms/javax_jms_message_consumer.rb
44
- - lib/jms/javax_jms_object_message.rb
45
- - lib/jms/javax_jms_queue_browser.rb
46
- - lib/jms/javax_jms_session.rb
47
- - lib/jms/javax_jms_text_message.rb
80
+ - lib/jms/imports.rb
48
81
  - lib/jms/logging.rb
49
- - lib/jms/message_listener.rb
82
+ - lib/jms/map_message.rb
83
+ - lib/jms/message.rb
84
+ - lib/jms/message_consumer.rb
85
+ - lib/jms/message_listener_impl.rb
86
+ - lib/jms/object_message.rb
87
+ - lib/jms/oracle_a_q_connection_factory.rb
88
+ - lib/jms/queue_browser.rb
89
+ - lib/jms/session.rb
90
+ - lib/jms/session_pool.rb
91
+ - lib/jms/text_message.rb
50
92
  - test/connection_test.rb
51
93
  - test/jms.yml
52
94
  - test/message_test.rb
@@ -61,23 +103,21 @@ rdoc_options: []
61
103
  require_paths:
62
104
  - lib
63
105
  required_ruby_version: !ruby/object:Gem::Requirement
106
+ none: false
64
107
  requirements:
65
108
  - - ">="
66
109
  - !ruby/object:Gem::Version
67
- segments:
68
- - 0
69
110
  version: "0"
70
111
  required_rubygems_version: !ruby/object:Gem::Requirement
112
+ none: false
71
113
  requirements:
72
114
  - - ">="
73
115
  - !ruby/object:Gem::Version
74
- segments:
75
- - 0
76
116
  version: "0"
77
117
  requirements: []
78
118
 
79
119
  rubyforge_project:
80
- rubygems_version: 1.3.6
120
+ rubygems_version: 1.5.1
81
121
  signing_key:
82
122
  specification_version: 3
83
123
  summary: JRuby interface into JMS
@@ -1,264 +0,0 @@
1
- ################################################################################
2
- # Copyright 2008, 2009, 2010, 2011 J. Reid Morrison
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
- ################################################################################
16
-
17
- # Extend JMS Message Interface with Ruby methods
18
- #
19
- # A Message is the item that can be put on a queue, or obtained from a queue.
20
- #
21
- # A Message consists of 3 major parts:
22
- # - Header
23
- # Accessible as attributes of the Message class
24
- # - Properties
25
- # Accessible via [] and []= methods
26
- # - Data
27
- # The actual data portion of the message
28
- # See the specific message types for details on how to access the data
29
- # portion of the message
30
- #
31
- # For further help on javax.jms.Message
32
- # http://download.oracle.com/javaee/6/api/index.html?javax/jms/Message.html
33
- #
34
- # Interface javax.jms.Message
35
- module javax.jms::Message
36
-
37
- # Methods directly exposed from the Java class:
38
-
39
- # call-seq:
40
- # acknowledge
41
- #
42
- # Acknowledges all consumed messages of the session of this consumed message
43
- #
44
-
45
- # call-seq:
46
- # clear_body
47
- #
48
- # Clears out the message body
49
- #
50
-
51
- # call-seq:
52
- # clear_properties
53
- #
54
- # Clears out the properties of this message
55
- #
56
-
57
- # Header Fields - Attributes of the message
58
-
59
- # Return the JMS Delivery Mode as a symbol
60
- # :persistent
61
- # :non_persistent
62
- # other: Value from javax.jms.DeliveryMode
63
- def jms_delivery_mode
64
- case getJMSDeliveryMode
65
- when javax.jms.DeliveryMode::PERSISTENT
66
- :persistent
67
- when javax.jms.DeliveryMode::NON_PERSISTENT
68
- :non_persistent
69
- else
70
- getJMSDeliveryMode
71
- end
72
- end
73
-
74
- # Set the JMS Delivery Mode
75
- # Valid values for mode
76
- # :persistent
77
- # :non_persistent
78
- # other: Any constant from javax.jms.DeliveryMode
79
- def jms_delivery_mode=(mode)
80
- val = case mode
81
- when :persistent
82
- javax.jms.DeliveryMode::PERSISTENT
83
- when :non_persistent
84
- javax.jms.DeliveryMode::NON_PERSISTENT
85
- else
86
- mode
87
- end
88
- self.setJMSDeliveryMode(val)
89
- end
90
-
91
- # Is the message persistent?
92
- def persistent?
93
- getJMSDeliveryMode == javax.jms.DeliveryMode::PERSISTENT
94
- end
95
-
96
- # Returns the Message correlation ID as a String
97
- # The resulting string may contain nulls
98
- def jms_correlation_id
99
- String.from_java_bytes(getJMSCorrelationIDAsBytes) if getJMSCorrelationIDAsBytes
100
- end
101
-
102
- # Set the Message correlation ID
103
- # correlation_id: String
104
- # Also supports embedded nulls within the correlation id
105
- def jms_correlation_id=(correlation_id)
106
- setJMSCorrelationIDAsBytes(correlation_id.nil? ? nil : correlation_id.to_java_bytes)
107
- end
108
-
109
- # Returns the Message Destination
110
- # Instance of javax.jms.Destination
111
- def jms_destination
112
- getJMSDestination
113
- end
114
-
115
- # Set the Message Destination
116
- # jms_destination: Must be an instance of javax.jms.Destination
117
- def jms_destination=(destination)
118
- setJMSDestination(destination)
119
- end
120
-
121
- # Return the message expiration value as an Integer
122
- def jms_expiration
123
- getJMSExpiration
124
- end
125
-
126
- # Set the Message expiration value
127
- # expiration: Integer
128
- def jms_expiration=(expiration)
129
- setJMSExpiration(expiration)
130
- end
131
-
132
- # Returns the Message ID as a String
133
- # The resulting string may contain embedded nulls
134
- def jms_message_id
135
- getJMSMessageID
136
- end
137
-
138
- # Set the Message correlation ID
139
- # message_id: String
140
- # Also supports nulls within the message id
141
- def jms_message_id=(message_id)
142
- setJMSMessageID(message_id)
143
- end
144
-
145
- # Returns the Message Priority level as an Integer
146
- def jms_priority
147
- getJMSPriority
148
- end
149
-
150
- # Set the Message priority level
151
- # priority: Integer
152
- def jms_priority=(priority)
153
- setJMSPriority(priority)
154
- end
155
-
156
- # Indicates whether the Message was redelivered?
157
- def jms_redelivered?
158
- getJMSRedelivered
159
- end
160
-
161
- # Set whether the Message was redelivered
162
- # bool: Boolean
163
- def jms_redelivered=(bool)
164
- setJMSPriority(bool)
165
- end
166
-
167
- # Returns the Message reply to Destination
168
- # Instance of javax.jms.Destination
169
- def jms_reply_to
170
- getJMSReplyTo
171
- end
172
-
173
- # Set the Message reply to Destination
174
- # reply_to: Must be an instance of javax.jms.Destination
175
- def jms_reply_to=(reply_to)
176
- setJMSReplyTo(reply_to)
177
- end
178
-
179
- # Returns the Message timestamp as Java Timestamp Integer
180
- #TODO Return Ruby Time object?
181
- def jms_timestamp
182
- getJMSTimestamp
183
- end
184
-
185
- # Set the Message reply to Destination
186
- # timestamp: Must be an Java Timestamp Integer
187
- #TODO Support Ruby Time
188
- def jms_timestamp=(timestamp)
189
- setJMSTimestamp(timestamp)
190
- end
191
-
192
- # Returns the Message type supplied by the client when the message was sent
193
- def jms_type
194
- getJMSType
195
- end
196
-
197
- # Sets the Message type
198
- # type: String
199
- def jms_type=(type)
200
- setJMSType(type)
201
- end
202
-
203
- # Return the attributes (header fields) of the message as a Hash
204
- def attributes
205
- {
206
- :jms_correlation_id => jms_correlation_id,
207
- :jms_delivery_mode => jms_delivery_mode,
208
- :jms_destination => jms_destination,
209
- :jms_expiration => jms_expiration,
210
- :jms_message_id => jms_message_id,
211
- :jms_priority => jms_priority,
212
- :jms_redelivered => jms_redelivered?,
213
- :jms_reply_to => jms_reply_to,
214
- :jms_timestamp => jms_timestamp,
215
- :jms_type => jms_type,
216
- }
217
- end
218
-
219
- # Methods for manipulating the message properties
220
-
221
- # Get the value of a property
222
- def [](key)
223
- getObjectProperty key.to_s
224
- end
225
-
226
- # Set a property
227
- def []=(key, value)
228
- setObjectProperty(key.to_s, value)
229
- end
230
-
231
- # Does message include specified property?
232
- def include?(key)
233
- # Ensure a Ruby true is returned
234
- property_exists key == true
235
- end
236
-
237
- # Return Properties as a hash
238
- def properties
239
- h = {}
240
- properties_each_pair {|k,v| h[k]=v}
241
- h
242
- end
243
-
244
- # Set Properties from an existing hash
245
- def properties=(h)
246
- clear_properties
247
- h.each_pair {|k,v| setObjectProperty(k.to_s, v)}
248
- h
249
- end
250
-
251
- # Return each name value pair
252
- def properties_each_pair(&proc)
253
- enum = getPropertyNames
254
- while enum.has_more_elements
255
- key = enum.next_element
256
- proc.call key, getObjectProperty(key)
257
- end
258
- end
259
-
260
- def inspect
261
- "#{self.class.name}: #{data}\nAttributes: #{attributes.inspect}\nProperties: #{properties.inspect}"
262
- end
263
-
264
- end