jruby-jms 1.1.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +36 -0
- data/HISTORY.md +52 -0
- data/LICENSE.txt +201 -0
- data/README.md +205 -0
- data/Rakefile +30 -0
- data/examples/advanced/session_pool.rb +37 -0
- data/examples/client-server/replier.rb +29 -0
- data/examples/client-server/requestor.rb +40 -0
- data/examples/file-to-q/files_to_q.rb +51 -0
- data/examples/file-to-q/q_to_files.rb +44 -0
- data/examples/invm/invm.rb +44 -0
- data/examples/invm/log4j.properties +58 -0
- data/examples/jms.yml +149 -0
- data/examples/performance/consumer.rb +25 -0
- data/examples/performance/producer.rb +31 -0
- data/examples/producer-consumer/browser.rb +24 -0
- data/examples/producer-consumer/consumer.rb +24 -0
- data/examples/producer-consumer/consumer_async.rb +41 -0
- data/examples/producer-consumer/producer.rb +25 -0
- data/examples/publish-subscribe/publish.rb +24 -0
- data/examples/publish-subscribe/subscribe.rb +31 -0
- data/lib/jms.rb +20 -0
- data/lib/jms/bytes_message.rb +52 -0
- data/lib/jms/connection.rb +529 -0
- data/lib/jms/imports.rb +21 -0
- data/lib/jms/logging.rb +50 -0
- data/lib/jms/map_message.rb +91 -0
- data/lib/jms/message.rb +285 -0
- data/lib/jms/message_consumer.rb +117 -0
- data/lib/jms/message_listener_impl.rb +79 -0
- data/lib/jms/message_producer.rb +59 -0
- data/lib/jms/mq_workaround.rb +70 -0
- data/lib/jms/object_message.rb +26 -0
- data/lib/jms/oracle_a_q_connection_factory.rb +48 -0
- data/lib/jms/queue_browser.rb +28 -0
- data/lib/jms/session.rb +473 -0
- data/lib/jms/session_pool.rb +168 -0
- data/lib/jms/text_message.rb +31 -0
- data/lib/jms/version.rb +3 -0
- data/nbproject/private/private.properties +3 -0
- data/nbproject/private/rake-d.txt +5 -0
- data/parallel_minion.gemspec +21 -0
- data/test/connection_test.rb +160 -0
- data/test/jms.yml +111 -0
- data/test/log4j.properties +32 -0
- data/test/message_test.rb +130 -0
- data/test/session_pool_test.rb +86 -0
- data/test/session_test.rb +140 -0
- metadata +113 -0
@@ -0,0 +1,168 @@
|
|
1
|
+
require 'gene_pool'
|
2
|
+
|
3
|
+
module JMS
|
4
|
+
# Since a Session can only be used by one thread at a time, we could create
|
5
|
+
# a Session for every thread. That could result in excessive unused Sessions.
|
6
|
+
# An alternative is to create a pool of sessions that can be shared by
|
7
|
+
# multiple threads.
|
8
|
+
#
|
9
|
+
# Each thread can request a session and then return it once it is no longer
|
10
|
+
# needed by that thread. The only way to get a session is pass a block so that
|
11
|
+
# the Session is automatically returned to the pool upon completion of the block.
|
12
|
+
#
|
13
|
+
# Parameters:
|
14
|
+
# see regular session parameters from: JMS::Connection#initialize
|
15
|
+
#
|
16
|
+
# Additional parameters for controlling the session pool itself
|
17
|
+
# :pool_name Name of the pool as it shows up in the logger.
|
18
|
+
# Default: 'JMS::SessionPool'
|
19
|
+
# :pool_size Maximum Pool Size. Default: 10
|
20
|
+
# The pool only grows as needed and will never exceed
|
21
|
+
# :pool_size
|
22
|
+
# :pool_timeout Number of seconds to wait before raising a TimeoutError
|
23
|
+
# if no sessions are available in the poo
|
24
|
+
# Default: 60
|
25
|
+
# :pool_warn_timeout Number of seconds to wait before logging a warning when a
|
26
|
+
# session in the pool is not available
|
27
|
+
# Default: 5
|
28
|
+
# :pool_logger Supply a logger that responds to #debug, #info, #warn and #debug?
|
29
|
+
# For example: Rails.logger
|
30
|
+
# Default: JMS.logger
|
31
|
+
# Example:
|
32
|
+
# session_pool = connection.create_session_pool(config)
|
33
|
+
# session_pool.session do |session|
|
34
|
+
# ....
|
35
|
+
# end
|
36
|
+
class SessionPool
|
37
|
+
def initialize(connection, params={})
|
38
|
+
# Save Session params since it will be used every time a new session is
|
39
|
+
# created in the pool
|
40
|
+
session_params = params.nil? ? {} : params.dup
|
41
|
+
logger = session_params[:pool_logger] || JMS.logger
|
42
|
+
# Define how GenePool can create new sessions
|
43
|
+
@pool = GenePool.new(
|
44
|
+
:name => session_params[:pool_name] || self.class.name,
|
45
|
+
:pool_size => session_params[:pool_size] || 10,
|
46
|
+
:warn_timeout => session_params[:pool_warn_timeout] || 5,
|
47
|
+
:timeout => session_params[:pool_timeout] || 60,
|
48
|
+
:close_proc => nil,
|
49
|
+
:logger => logger) do
|
50
|
+
connection.create_session(session_params)
|
51
|
+
end
|
52
|
+
|
53
|
+
# Handle connection failures
|
54
|
+
connection.on_exception do |jms_exception|
|
55
|
+
logger.error "JMS Connection Exception has occurred: #{jms_exception}" if logger
|
56
|
+
#TODO: Close all sessions in the pool and release from the pool?
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# Obtain a session from the pool and pass it to the supplied block
|
61
|
+
# The session is automatically returned to the pool once the block completes
|
62
|
+
#
|
63
|
+
# In the event a JMS Exception is thrown the session will be closed and removed
|
64
|
+
# from the pool to prevent re-using sessions that are no longer valid
|
65
|
+
def session(&block)
|
66
|
+
s = nil
|
67
|
+
begin
|
68
|
+
s = @pool.checkout
|
69
|
+
block.call(s)
|
70
|
+
rescue javax.jms.JMSException => e
|
71
|
+
s.close rescue nil
|
72
|
+
@pool.remove(s)
|
73
|
+
s = nil # Do not check back in since we have removed it
|
74
|
+
raise e
|
75
|
+
ensure
|
76
|
+
@pool.checkin(s) if s
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
# Obtain a session from the pool and create a MessageConsumer.
|
81
|
+
# Pass both into the supplied block.
|
82
|
+
# Once the block is complete the consumer is closed and the session is
|
83
|
+
# returned to the pool.
|
84
|
+
#
|
85
|
+
# Parameters:
|
86
|
+
# :queue_name => String: Name of the Queue to return
|
87
|
+
# Symbol: :temporary => Create temporary queue
|
88
|
+
# Mandatory unless :topic_name is supplied
|
89
|
+
# Or,
|
90
|
+
# :topic_name => String: Name of the Topic to write to or subscribe to
|
91
|
+
# Symbol: :temporary => Create temporary topic
|
92
|
+
# Mandatory unless :queue_name is supplied
|
93
|
+
# Or,
|
94
|
+
# :destination=> Explicit javaxJms::Destination to use
|
95
|
+
#
|
96
|
+
# :selector => Filter which messages should be returned from the queue
|
97
|
+
# Default: All messages
|
98
|
+
# :no_local => Determine whether messages published by its own connection
|
99
|
+
# should be delivered to it
|
100
|
+
# Default: false
|
101
|
+
#
|
102
|
+
# Example
|
103
|
+
# session_pool.consumer(:queue_name => 'MyQueue') do |session, consumer|
|
104
|
+
# message = consumer.receive(timeout)
|
105
|
+
# puts message.data if message
|
106
|
+
# end
|
107
|
+
def consumer(params, &block)
|
108
|
+
session do |s|
|
109
|
+
consumer = nil
|
110
|
+
begin
|
111
|
+
consumer = s.consumer(params)
|
112
|
+
block.call(s, consumer)
|
113
|
+
ensure
|
114
|
+
consumer.close if consumer
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
# Obtain a session from the pool and create a MessageProducer.
|
120
|
+
# Pass both into the supplied block.
|
121
|
+
# Once the block is complete the producer is closed and the session is
|
122
|
+
# returned to the pool.
|
123
|
+
#
|
124
|
+
# Parameters:
|
125
|
+
# :queue_name => String: Name of the Queue to send messages to
|
126
|
+
# Symbol: :temporary => Create temporary queue
|
127
|
+
# Mandatory unless :topic_name is supplied
|
128
|
+
# Or,
|
129
|
+
# :topic_name => String: Name of the Topic to send message to
|
130
|
+
# Symbol: :temporary => Create temporary topic
|
131
|
+
# Mandatory unless :queue_name is supplied
|
132
|
+
# Or,
|
133
|
+
# :destination=> Explicit JMS::Destination to use
|
134
|
+
#
|
135
|
+
# Example
|
136
|
+
# session_pool.producer(:queue_name => 'ExampleQueue') do |session, producer|
|
137
|
+
# producer.send(session.message("Hello World"))
|
138
|
+
# end
|
139
|
+
def producer(params, &block)
|
140
|
+
session do |s|
|
141
|
+
producer = nil
|
142
|
+
begin
|
143
|
+
producer = s.producer(params)
|
144
|
+
block.call(s, producer)
|
145
|
+
ensure
|
146
|
+
producer.close if producer
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
# Immediately Close all sessions in the pool and release from the pool
|
152
|
+
#
|
153
|
+
# Note: This is an immediate close, active sessions will be aborted
|
154
|
+
#
|
155
|
+
# Note: Once closed a session pool cannot be re-used. A new instance must
|
156
|
+
# be created
|
157
|
+
#
|
158
|
+
# TODO: Allow an option to wait for active sessions to be returned before
|
159
|
+
# closing
|
160
|
+
def close
|
161
|
+
@pool.each do |s|
|
162
|
+
s.close
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
end
|
167
|
+
|
168
|
+
end
|
@@ -0,0 +1,31 @@
|
|
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
|
+
#Interface javax.jms.TextMessage
|
18
|
+
module JMS::TextMessage
|
19
|
+
def data
|
20
|
+
getText
|
21
|
+
end
|
22
|
+
|
23
|
+
def data=(val)
|
24
|
+
setText(val.to_s)
|
25
|
+
end
|
26
|
+
|
27
|
+
def to_s
|
28
|
+
data
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
data/lib/jms/version.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
|
3
|
+
# Maintain gem's version:
|
4
|
+
require 'jms/version'
|
5
|
+
|
6
|
+
# Describe your gem and declare its dependencies:
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = 'jruby-jms'
|
9
|
+
spec.version = JMS::VERSION
|
10
|
+
spec.platform = 'java'
|
11
|
+
spec.authors = ['Reid Morrison']
|
12
|
+
spec.email = ['reidmo@gmail.com']
|
13
|
+
spec.homepage = 'https://github.com/reidmorrison/jruby-jms'
|
14
|
+
spec.summary = 'JRuby interface into JMS'
|
15
|
+
spec.description = 'JRuby-JMS is a Java and Ruby library that exposes the Java JMS API in a ruby friendly way. For JRuby only.'
|
16
|
+
spec.files = FileList["./**/*"].exclude('*.gem', './nbproject/*').map{|f| f.sub(/^\.\//, '')}
|
17
|
+
spec.test_files = Dir["test/**/*"]
|
18
|
+
spec.license = "Apache License V2.0"
|
19
|
+
spec.has_rdoc = true
|
20
|
+
spec.add_dependency 'gene_pool'
|
21
|
+
end
|
@@ -0,0 +1,160 @@
|
|
1
|
+
# Allow examples to be run in-place without requiring a gem install
|
2
|
+
$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
require 'test/unit'
|
6
|
+
require 'shoulda'
|
7
|
+
require 'jms'
|
8
|
+
require 'yaml'
|
9
|
+
|
10
|
+
# Set Log4J properties file so that it does not need to be in the CLASSPATH
|
11
|
+
java.lang.System.properties['log4j.configuration'] = "test/log4j.properties"
|
12
|
+
|
13
|
+
class JMSTest < Test::Unit::TestCase
|
14
|
+
context 'JMS Connection' do
|
15
|
+
# Load configuration from jms.yml
|
16
|
+
setup do
|
17
|
+
# To change the JMS provider, edit jms.yml and change :default
|
18
|
+
|
19
|
+
# Load Connection parameters from configuration file
|
20
|
+
cfg = YAML.load_file(File.join(File.dirname(__FILE__), 'jms.yml'))
|
21
|
+
jms_provider = cfg['default']
|
22
|
+
@config = cfg[jms_provider]
|
23
|
+
raise "JMS Provider option:#{jms_provider} not found in jms.yml file" unless @config
|
24
|
+
@queue_name = @config.delete(:queue_name) || raise("Mandatory :queue_name missing from jms.yml")
|
25
|
+
@topic_name = @config.delete(:topic_name) || raise("Mandatory :topic_name missing from jms.yml")
|
26
|
+
end
|
27
|
+
|
28
|
+
should 'Create Connection to the Broker/Server' do
|
29
|
+
connection = JMS::Connection.new(@config)
|
30
|
+
JMS::logger.info connection.to_s
|
31
|
+
assert_not_nil connection
|
32
|
+
connection.close
|
33
|
+
end
|
34
|
+
|
35
|
+
should 'Create and start Connection to the Broker/Server with block' do
|
36
|
+
JMS::Connection.start(@config) do |connection|
|
37
|
+
assert_not_nil connection
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
should 'Create and start Connection to the Broker/Server with block and start one session' do
|
42
|
+
JMS::Connection.session(@config) do |session|
|
43
|
+
assert_not_nil session
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
should 'Start and stop connection' do
|
48
|
+
connection = JMS::Connection.new(@config)
|
49
|
+
assert_not_nil connection
|
50
|
+
assert_nil connection.start
|
51
|
+
|
52
|
+
assert_nil connection.stop
|
53
|
+
assert_nil connection.close
|
54
|
+
end
|
55
|
+
|
56
|
+
should 'Create a session from the connection' do
|
57
|
+
connection = JMS::Connection.new(@config)
|
58
|
+
|
59
|
+
session_parms = {
|
60
|
+
:transacted => true,
|
61
|
+
:options => JMS::Session::AUTO_ACKNOWLEDGE
|
62
|
+
}
|
63
|
+
|
64
|
+
session = connection.create_session
|
65
|
+
assert_not_nil session
|
66
|
+
assert_equal session.transacted?, false
|
67
|
+
assert_nil session.close
|
68
|
+
|
69
|
+
assert_nil connection.stop
|
70
|
+
assert_nil connection.close
|
71
|
+
end
|
72
|
+
|
73
|
+
should 'Create a session with a block' do
|
74
|
+
connection = JMS::Connection.new(@config)
|
75
|
+
|
76
|
+
connection.session do |session|
|
77
|
+
assert_not_nil session
|
78
|
+
assert_equal session.transacted?, false
|
79
|
+
end
|
80
|
+
|
81
|
+
assert_nil connection.stop
|
82
|
+
assert_nil connection.close
|
83
|
+
end
|
84
|
+
|
85
|
+
should 'create a session without a block and throw exception' do
|
86
|
+
connection = JMS::Connection.new(@config)
|
87
|
+
|
88
|
+
assert_raise(RuntimeError) { connection.session }
|
89
|
+
|
90
|
+
assert_nil connection.stop
|
91
|
+
assert_nil connection.close
|
92
|
+
end
|
93
|
+
|
94
|
+
should 'Create a session from the connection with params' do
|
95
|
+
connection = JMS::Connection.new(@config)
|
96
|
+
|
97
|
+
session_parms = {
|
98
|
+
:transacted => true,
|
99
|
+
:options => JMS::Session::AUTO_ACKNOWLEDGE
|
100
|
+
}
|
101
|
+
|
102
|
+
session = connection.create_session(session_parms)
|
103
|
+
assert_not_nil session
|
104
|
+
assert_equal session.transacted?, true
|
105
|
+
# When session is transacted, options are ignore, so ack mode must be transacted
|
106
|
+
assert_equal session.acknowledge_mode, JMS::Session::SESSION_TRANSACTED
|
107
|
+
assert_nil session.close
|
108
|
+
|
109
|
+
assert_nil connection.stop
|
110
|
+
assert_nil connection.close
|
111
|
+
end
|
112
|
+
|
113
|
+
should 'Create a session from the connection with block and params' do
|
114
|
+
JMS::Connection.start(@config) do |connection|
|
115
|
+
|
116
|
+
session_parms = {
|
117
|
+
:transacted => true,
|
118
|
+
:options => JMS::Session::CLIENT_ACKNOWLEDGE
|
119
|
+
}
|
120
|
+
|
121
|
+
connection.session(session_parms) do |session|
|
122
|
+
assert_not_nil session
|
123
|
+
assert_equal session.transacted?, true
|
124
|
+
# When session is transacted, options are ignore, so ack mode must be transacted
|
125
|
+
assert_equal session.acknowledge_mode, JMS::Session::SESSION_TRANSACTED
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
should 'Create a session from the connection with block and params opposite test' do
|
131
|
+
JMS::Connection.start(@config) do |connection|
|
132
|
+
|
133
|
+
session_parms = {
|
134
|
+
:transacted => false,
|
135
|
+
:options => JMS::Session::AUTO_ACKNOWLEDGE
|
136
|
+
}
|
137
|
+
|
138
|
+
connection.session(session_parms) do |session|
|
139
|
+
assert_not_nil session
|
140
|
+
assert_equal session.transacted?, false
|
141
|
+
assert_equal session.acknowledge_mode, JMS::Session::AUTO_ACKNOWLEDGE
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
context 'JMS Connection additional capabilities' do
|
147
|
+
|
148
|
+
should 'start an on_message handler' do
|
149
|
+
JMS::Connection.start(@config) do |connection|
|
150
|
+
value = nil
|
151
|
+
connection.on_message(:transacted => true, :queue_name => :temporary) do |message|
|
152
|
+
value = "received"
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
end
|
158
|
+
|
159
|
+
end
|
160
|
+
end
|
data/test/jms.yml
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
# This YAML file contains the configuration options for several different
|
2
|
+
# JMS Providers
|
3
|
+
#
|
4
|
+
# The Examples that ship with jruby-jms will use the entry 'default' unless
|
5
|
+
# overriden at the command line. For example:
|
6
|
+
# jruby producer.rb activemq
|
7
|
+
#
|
8
|
+
---
|
9
|
+
# Which JMS Provider to use by default
|
10
|
+
|
11
|
+
#default: hornetq222
|
12
|
+
#default: hornetq225
|
13
|
+
#default: activemq543
|
14
|
+
#default: activemq551
|
15
|
+
default: activemq590
|
16
|
+
#default: webspheremq6
|
17
|
+
#default: webspheremq7
|
18
|
+
|
19
|
+
activemq543:
|
20
|
+
:factory: org.apache.activemq.ActiveMQConnectionFactory
|
21
|
+
:broker_url: tcp://localhost:61616
|
22
|
+
:require_jars:
|
23
|
+
- ~/jms/apache-activemq-5.4.3/activemq-all-5.4.3.jar
|
24
|
+
:queue_name: TestQueue
|
25
|
+
:topic_name: TestTopic
|
26
|
+
|
27
|
+
activemq551:
|
28
|
+
:factory: org.apache.activemq.ActiveMQConnectionFactory
|
29
|
+
:broker_url: tcp://localhost:61616
|
30
|
+
:require_jars:
|
31
|
+
- ~/jms/apache-activemq-5.5.1/activemq-all-5.5.1.jar
|
32
|
+
- ~/jms/apache-activemq-5.5.1/lib/optional/slf4j-log4j12-1.5.11.jar
|
33
|
+
- ~/jms/apache-activemq-5.5.1/lib/optional/log4j-1.2.14.jar
|
34
|
+
:queue_name: TestQueue
|
35
|
+
:topic_name: TestTopic
|
36
|
+
|
37
|
+
activemq590:
|
38
|
+
:factory: org.apache.activemq.ActiveMQConnectionFactory
|
39
|
+
:broker_url: tcp://localhost:61616
|
40
|
+
:require_jars:
|
41
|
+
- /usr/local/Cellar/activemq/5.9.0/libexec/activemq-all-5.9.0.jar
|
42
|
+
- /usr/local/Cellar/activemq/5.9.0/libexec/lib/optional/log4j-1.2.17.jar
|
43
|
+
:queue_name: TestQueue
|
44
|
+
:topic_name: TestTopic
|
45
|
+
|
46
|
+
hornetq225:
|
47
|
+
# Connect to a local HornetQ Broker using JNDI
|
48
|
+
:jndi_name: /ConnectionFactory
|
49
|
+
:jndi_context:
|
50
|
+
java.naming.factory.initial: org.jnp.interfaces.NamingContextFactory
|
51
|
+
java.naming.provider.url: jnp://localhost:1099
|
52
|
+
java.naming.factory.url.pkgs: org.jboss.naming:org.jnp.interfaces
|
53
|
+
java.naming.security.principal: guest
|
54
|
+
java.naming.security.credentials: guest
|
55
|
+
:require_jars:
|
56
|
+
- ~/jms/hornetq-2.2.5.Final/lib/hornetq-core-client.jar
|
57
|
+
- ~/jms/hornetq-2.2.5.Final/lib/netty.jar
|
58
|
+
- ~/jms/hornetq-2.2.5.Final/lib/hornetq-jms-client.jar
|
59
|
+
- ~/jms/hornetq-2.2.5.Final/lib/jboss-jms-api.jar
|
60
|
+
- ~/jms/hornetq-2.2.5.Final/lib/jnp-client.jar
|
61
|
+
:queue_name: TestQueue
|
62
|
+
:topic_name: TestTopic
|
63
|
+
|
64
|
+
hornetq222:
|
65
|
+
# Connect to a local HornetQ Broker using JNDI
|
66
|
+
:jndi_name: /ConnectionFactory
|
67
|
+
:jndi_context:
|
68
|
+
java.naming.factory.initial: org.jnp.interfaces.NamingContextFactory
|
69
|
+
java.naming.provider.url: jnp://localhost:1099
|
70
|
+
java.naming.factory.url.pkgs: org.jboss.naming:org.jnp.interfaces
|
71
|
+
java.naming.security.principal: guest
|
72
|
+
java.naming.security.credentials: guest
|
73
|
+
:require_jars:
|
74
|
+
- ~/jms/hornetq-2.2.2.Final/lib/hornetq-core-client.jar
|
75
|
+
- ~/jms/hornetq-2.2.2.Final/lib/netty.jar
|
76
|
+
- ~/jms/hornetq-2.2.2.Final/lib/hornetq-jms-client.jar
|
77
|
+
- ~/jms/hornetq-2.2.2.Final/lib/jboss-jms-api.jar
|
78
|
+
- ~/jms/hornetq-2.2.2.Final/lib/jnp-client.jar
|
79
|
+
:queue_name: TestQueue
|
80
|
+
:topic_name: TestTopic
|
81
|
+
|
82
|
+
webspheremq7:
|
83
|
+
:factory: com.ibm.mq.jms.MQConnectionFactory
|
84
|
+
:queue_manager: MYQM
|
85
|
+
:host_name: 127.0.0.1
|
86
|
+
:channel: SRVCONCHA
|
87
|
+
:port: 61414
|
88
|
+
# Transport Type: com.ibm.mq.jms.JMSC::MQJMS_TP_CLIENT_MQ_TCPIP
|
89
|
+
:transport_type: 1
|
90
|
+
:username: mqm
|
91
|
+
:require_jars:
|
92
|
+
- ~/jms/libs-ibmqm7/com.ibm.mqjms.jar
|
93
|
+
- ~/jms/libs-ibmqm7/jms.jar
|
94
|
+
- ~/jms/libs-ibmqm7/com.ibm.mq.jmqi.jar
|
95
|
+
- ~/jms/libs-ibmqm7/dhbcore.jar
|
96
|
+
:queue_name: TestQueue
|
97
|
+
:topic_name: TestTopic
|
98
|
+
|
99
|
+
webspheremq6:
|
100
|
+
:factory: com.ibm.mq.jms.MQConnectionFactory
|
101
|
+
:queue_manager: MYQM
|
102
|
+
:host_name: 127.0.0.1
|
103
|
+
:channel: SRVCONCHA
|
104
|
+
:port: 61414
|
105
|
+
# Transport Type: com.ibm.mq.jms.JMSC::MQJMS_TP_CLIENT_MQ_TCPIP
|
106
|
+
:transport_type: 1
|
107
|
+
:username: mqm
|
108
|
+
:require_jars:
|
109
|
+
- ~/jms/libs-ibmqm6/com.ibm.mqjms.jar
|
110
|
+
:queue_name: TestQueue
|
111
|
+
:topic_name: TestTopic
|