activemq 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ pkg/*
2
+ *.gem
3
+ .bundle
4
+ .project
5
+ *.o
6
+ *.so
7
+ tmp/*
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm 1.8.7-p302@rbactivemq --create
data/Gemfile ADDED
@@ -0,0 +1,14 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in RBActivemq.gemspec
4
+ gemspec
5
+
6
+ group :test, :development do
7
+ platforms :mri_18 do
8
+ gem "ruby-debug"
9
+ end
10
+
11
+ platforms :mri_19 do
12
+ gem "ruby-debug19", :require => 'ruby-debug' if RUBY_VERSION < "1.9.3"
13
+ end
14
+ end
@@ -0,0 +1,52 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ activemq (0.0.1)
5
+ rice (>= 1.4.2)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ archive-tar-minitar (0.5.2)
11
+ columnize (0.3.2)
12
+ diff-lcs (1.1.2)
13
+ linecache (0.43)
14
+ linecache19 (0.5.12)
15
+ ruby_core_source (>= 0.1.4)
16
+ rake (0.8.7)
17
+ rake-compiler (0.7.7)
18
+ rake
19
+ rice (1.4.2)
20
+ rspec (2.5.0)
21
+ rspec-core (~> 2.5.0)
22
+ rspec-expectations (~> 2.5.0)
23
+ rspec-mocks (~> 2.5.0)
24
+ rspec-core (2.5.1)
25
+ rspec-expectations (2.5.0)
26
+ diff-lcs (~> 1.1.2)
27
+ rspec-mocks (2.5.0)
28
+ ruby-debug (0.10.4)
29
+ columnize (>= 0.1)
30
+ ruby-debug-base (~> 0.10.4.0)
31
+ ruby-debug-base (0.10.4)
32
+ linecache (>= 0.3)
33
+ ruby-debug-base19 (0.11.25)
34
+ columnize (>= 0.3.1)
35
+ linecache19 (>= 0.5.11)
36
+ ruby_core_source (>= 0.1.4)
37
+ ruby-debug19 (0.11.6)
38
+ columnize (>= 0.3.1)
39
+ linecache19 (>= 0.5.11)
40
+ ruby-debug-base19 (>= 0.11.19)
41
+ ruby_core_source (0.1.5)
42
+ archive-tar-minitar (>= 0.5.2)
43
+
44
+ PLATFORMS
45
+ ruby
46
+
47
+ DEPENDENCIES
48
+ activemq!
49
+ rake-compiler (>= 0.7.7)
50
+ rspec (>= 2.3.0)
51
+ ruby-debug
52
+ ruby-debug19
@@ -0,0 +1,52 @@
1
+ h1. Ruby ActiveMQ
2
+
3
+ ActiveMQ client for Ruby using openwire protocol through activemq-cpp client.
4
+
5
+ h2(#changelog). Changelog
6
+
7
+ *0.0.1* - Initial version with support to publish text messages
8
+
9
+ h2(#installing). Installing
10
+
11
+ *You must install the "ActiveMQ-cpp":http://activemq.apache.org/cms/activemq-cpp-325-release.html 3.2.5 version previously*
12
+
13
+ <pre>
14
+ <code>
15
+ gem install activemq
16
+ </code>
17
+ </pre>
18
+
19
+ If needed you can pass where is the activemq-cpp, library and includes, example:
20
+
21
+ <pre>
22
+ <code>
23
+ gem install activemq -- --with-activemq-cpp-lib=/opt/activemq-cpp-3.2.5/lib --with-activemq-cpp-include=/opt/activemq-cpp-3.2.5/include/activemq-cpp-3.2.5
24
+ </code>
25
+ </pre>
26
+
27
+ h2(#basic-usage). Basic Usage
28
+
29
+ _Considering default configuration of ActiveMQ server_
30
+
31
+ h3. Publish Message
32
+ <pre>
33
+ <code>
34
+ require 'activemq'
35
+ amqcf = ActiveMQ::ConnectionFactory.new
36
+ connection = amqcf.create_connection
37
+ session = connection.create_session
38
+ topic = session.create_topic("topic_name")
39
+ producer = session.create_producer(topic)
40
+ message = session.create_text_message("Text to send")
41
+ producer.send_message(message)
42
+ connection.close
43
+ </code>
44
+ </pre>
45
+
46
+ h2(#todo). TODO
47
+
48
+ * Add Properties to messages
49
+ * Exception listener
50
+ * Consumer by pooling
51
+ * Consumer by stream
52
+ * Work with Bytes and Map messages
@@ -0,0 +1,14 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ # use rake-compiler for building the extension
5
+ require 'rake/extensiontask'
6
+
7
+ Rake::ExtensionTask.new('ActiveMQ') do |ext|
8
+ ext.source_pattern = "*.{c,cpp}"
9
+ end
10
+
11
+ require "rspec/core/rake_task"
12
+
13
+ desc "Run all examples"
14
+ RSpec::Core::RakeTask.new(:spec => "compile:ActiveMQ")
@@ -0,0 +1,29 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "activemq/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "activemq"
7
+ s.version = ActiveMQ::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Wandenberg Peixoto"]
10
+ s.email = ["wandenberg@gmail.com"]
11
+ s.homepage = ""
12
+ s.summary = %q{ActiveMQ client for Ruby}
13
+ s.description = %q{ActiveMQ client for Ruby using openwire protocol through activemq-cpp client}
14
+
15
+ s.rubyforge_project = "activemq"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+
22
+ s.extensions = "ext/ActiveMQ/extconf.rb"
23
+
24
+ s.add_dependency "rice", ">= 1.4.2"
25
+
26
+ s.add_development_dependency "rake-compiler", ">= 0.7.7"
27
+ s.add_development_dependency "rspec", ">= 2.3.0"
28
+
29
+ end
@@ -0,0 +1,16 @@
1
+ #include "activemq.hpp"
2
+
3
+ void register_Connection(Module rb_module) {
4
+
5
+ cms::Session* (cms::Connection::*Connection_createSession1)(cms::Session::AcknowledgeMode) = &cms::Connection::createSession;
6
+
7
+ Data_Type< cms::Connection > rb_cConnection = define_class_under< cms::Connection >(rb_module, "Connection");
8
+ rb_cConnection.define_method("instance?", &instance, (Arg("class")));
9
+
10
+ rb_cConnection.define_method("create_session", Connection_createSession1, (Arg("acknowledge_mode") = cms::Session::AUTO_ACKNOWLEDGE));
11
+
12
+ rb_cConnection.define_method("client_id", &cms::Connection::getClientID);
13
+ rb_cConnection.define_method("client_id=", &cms::Connection::setClientID, (Arg("client_id")));
14
+
15
+ rb_cConnection.define_method("close", &cms::Connection::close);
16
+ }
@@ -0,0 +1,30 @@
1
+ #include "activemq.hpp"
2
+
3
+ void register_ConnectionFactory(Module rb_module)
4
+ {
5
+ Data_Type< activemq::core::ActiveMQConnectionFactory > rb_cConnectionFactory = define_class_under< activemq::core::ActiveMQConnectionFactory >(rb_module, "ConnectionFactory");
6
+ rb_cConnectionFactory.define_method("instance?", &instance, (Arg("class")));
7
+
8
+ rb_cConnectionFactory.define_constructor(Constructor< activemq::core::ActiveMQConnectionFactory,const std::string&,const std::string&,const std::string& >(), (Arg("broker_url") = new std::string(activemq::core::ActiveMQConnectionFactory::DEFAULT_URI), Arg("username") = new std::string(""), Arg("password") = new std::string("")));
9
+ rb_cConnectionFactory.const_set("DEFAULT_URI", to_ruby(activemq::core::ActiveMQConnectionFactory::DEFAULT_URI));
10
+
11
+ rb_cConnectionFactory.define_method("username", &activemq::core::ActiveMQConnectionFactory::getUsername);
12
+ rb_cConnectionFactory.define_method("username=", &activemq::core::ActiveMQConnectionFactory::setUsername, (Arg("username")));
13
+
14
+ rb_cConnectionFactory.define_method("password", &activemq::core::ActiveMQConnectionFactory::getPassword);
15
+ rb_cConnectionFactory.define_method("password=", &activemq::core::ActiveMQConnectionFactory::setPassword, (Arg("password")));
16
+
17
+ rb_cConnectionFactory.define_method("broker_url", &activemq::core::ActiveMQConnectionFactory::getBrokerURL);
18
+ rb_cConnectionFactory.define_method("broker_url=", &activemq::core::ActiveMQConnectionFactory::setBrokerURL, (Arg("broker_url")));
19
+
20
+ rb_cConnectionFactory.define_method("client_id", &activemq::core::ActiveMQConnectionFactory::getClientId);
21
+ rb_cConnectionFactory.define_method("client_id=", &activemq::core::ActiveMQConnectionFactory::setClientId, (Arg("client_id")));
22
+
23
+ cms::Connection* (activemq::core::ActiveMQConnectionFactory::*ConnectionFactory_createConnection0)() = &activemq::core::ActiveMQConnectionFactory::createConnection;
24
+ cms::Connection* (activemq::core::ActiveMQConnectionFactory::*ConnectionFactory_createConnection2)(const std::string&, const std::string&) = &activemq::core::ActiveMQConnectionFactory::createConnection;
25
+ cms::Connection* (activemq::core::ActiveMQConnectionFactory::*ConnectionFactory_createConnection3)(const std::string&, const std::string&, const std::string&) = &activemq::core::ActiveMQConnectionFactory::createConnection;
26
+
27
+ rb_cConnectionFactory.define_method("create_connection", ConnectionFactory_createConnection0);
28
+ rb_cConnectionFactory.define_method("create_connection_for", ConnectionFactory_createConnection2, (Arg("username"), Arg("password")));
29
+ rb_cConnectionFactory.define_method("create_connection_for_client", ConnectionFactory_createConnection3, (Arg("username"), Arg("password"), Arg("clientId")));
30
+ }
@@ -0,0 +1,10 @@
1
+ #include "activemq.hpp"
2
+
3
+ void register_DeliveryMode(Module rb_module) {
4
+ Data_Type< cms::DeliveryMode > rb_cDeliveryMode = define_class_under< cms::DeliveryMode >(rb_module, "DeliveryMode");
5
+ rb_cDeliveryMode.define_constructor(Constructor< cms::DeliveryMode >());
6
+ rb_cDeliveryMode.define_method("instance?", &instance, (Arg("class")));
7
+
8
+ rb_cDeliveryMode.const_set("PERSISTENT", to_ruby((int)cms::DeliveryMode::PERSISTENT));
9
+ rb_cDeliveryMode.const_set("NON_PERSISTENT", to_ruby((int)cms::DeliveryMode::NON_PERSISTENT));
10
+ }
@@ -0,0 +1,28 @@
1
+ #include "activemq.hpp"
2
+
3
+ void register_Destinations(Module rb_module) {
4
+ Data_Type< cms::Destination > rb_cDestination = define_class_under< cms::Destination >(rb_module, "Destination");
5
+ rb_cDestination.define_method("instance?", &instance, (Arg("class")));
6
+
7
+ rb_cDestination.define_method("destination_type", &cms::Destination::getDestinationType);
8
+ // rb_cDestination.define_method("clone", &cms::Destination::clone);
9
+ // rb_cDestination.define_method("copy", &cms::Destination::copy, (Arg("source")));
10
+
11
+ Data_Type< cms::Topic > rb_cTopic = define_class_under< cms::Topic, cms::Destination >(rb_module, "Topic");
12
+ rb_cTopic.define_method("name", &cms::Topic::getTopicName);
13
+
14
+ Data_Type< cms::Queue > rb_cQueue = define_class_under< cms::Queue,cms::Destination >(rb_module, "Queue");
15
+ rb_cQueue.define_method("name", &cms::Queue::getQueueName);
16
+
17
+ Data_Type< cms::TemporaryTopic > rb_cTemporaryTopic = define_class_under< cms::TemporaryTopic, cms::Destination >(rb_module, "TemporaryTopic");
18
+ rb_cTemporaryTopic.define_method("name", &cms::TemporaryTopic::getTopicName);
19
+
20
+ Data_Type< cms::TemporaryQueue > rb_cTemporaryQueue = define_class_under< cms::TemporaryQueue,cms::Destination >(rb_module, "TemporaryQueue");
21
+ rb_cTemporaryQueue.define_method("name", &cms::TemporaryQueue::getQueueName);
22
+
23
+ Enum<cms::Destination::DestinationType> rb_eDestinationType = define_enum<cms::Destination::DestinationType>("DestinationType", rb_cDestination);
24
+ rb_eDestinationType.define_value("TOPIC", cms::Destination::TOPIC);
25
+ rb_eDestinationType.define_value("QUEUE", cms::Destination::QUEUE);
26
+ rb_eDestinationType.define_value("TEMPORARY_TOPIC", cms::Destination::TEMPORARY_TOPIC);
27
+ rb_eDestinationType.define_value("TEMPORARY_QUEUE", cms::Destination::TEMPORARY_QUEUE);
28
+ }
@@ -0,0 +1,68 @@
1
+ #include "activemq.hpp"
2
+
3
+ void register_Message(Module rb_module) {
4
+ Data_Type< cms::Message > rb_cMessage = define_class_under< cms::Message >(rb_module, "Message");
5
+ rb_cMessage.define_method("instance?", &instance, (Arg("class")));
6
+
7
+ // rb_cMessage.define_method("getIntProperty", &cms::Message::getIntProperty, (Arg("name")));
8
+ // rb_cMessage.define_method("setIntProperty", &cms::Message::setIntProperty, (Arg("name"), Arg("value")));
9
+ //
10
+ // rb_cMessage.define_method("getByteProperty", &cms::Message::getByteProperty, (Arg("name")));
11
+ // rb_cMessage.define_method("setByteProperty", &cms::Message::setByteProperty, (Arg("name"), Arg("value")));
12
+ //
13
+ // rb_cMessage.define_method("getBooleanProperty", &cms::Message::getBooleanProperty, (Arg("name")));
14
+ // rb_cMessage.define_method("setBooleanProperty", &cms::Message::setBooleanProperty, (Arg("name"), Arg("value")));
15
+ //
16
+ // rb_cMessage.define_method("getDoubleProperty", &cms::Message::getDoubleProperty, (Arg("name")));
17
+ // rb_cMessage.define_method("setDoubleProperty", &cms::Message::setDoubleProperty, (Arg("name"), Arg("value")));
18
+ //
19
+ // rb_cMessage.define_method("getFloatProperty", &cms::Message::getFloatProperty, (Arg("name")));
20
+ // rb_cMessage.define_method("setFloatProperty", &cms::Message::setFloatProperty, (Arg("name"), Arg("value")));
21
+ //
22
+ // rb_cMessage.define_method("getLongProperty", &cms::Message::getLongProperty, (Arg("name")));
23
+ // rb_cMessage.define_method("setLongProperty", &cms::Message::setLongProperty, (Arg("name"), Arg("value")));
24
+ //
25
+ // rb_cMessage.define_method("getShortProperty", &cms::Message::getShortProperty, (Arg("name")));
26
+ // rb_cMessage.define_method("setShortProperty", &cms::Message::setShortProperty, (Arg("name"), Arg("value")));
27
+ //
28
+ // rb_cMessage.define_method("getStringProperty", &cms::Message::getStringProperty, (Arg("name")));
29
+ // rb_cMessage.define_method("setStringProperty", &cms::Message::setStringProperty, (Arg("name"), Arg("value")));
30
+ //
31
+ // rb_cMessage.define_method("clone", &cms::Message::clone);
32
+
33
+ // rb_cMessage.define_method("acknowledge", &cms::Message::acknowledge);
34
+ // rb_cMessage.define_method("clearBody", &cms::Message::clearBody);
35
+ // rb_cMessage.define_method("clearProperties", &cms::Message::clearProperties);
36
+ // rb_cMessage.define_method("propertyExists?", &cms::Message::propertyExists, (Arg("name")));
37
+ // rb_cMessage.define_method("propertyNames", &cms::Message::getPropertyNames);
38
+ //
39
+ // rb_cMessage.define_method("destination", &cms::Message::getCMSDestination);
40
+ // rb_cMessage.define_method("destination=", &cms::Message::setCMSDestination, (Arg("destination")));
41
+ //
42
+ // rb_cMessage.define_method("expiration", &cms::Message::getCMSExpiration);
43
+ // rb_cMessage.define_method("expiration=", &cms::Message::setCMSExpiration, (Arg("expireTime")));
44
+ //
45
+ // rb_cMessage.define_method("message_id", &cms::Message::getCMSMessageID);
46
+ // rb_cMessage.define_method("message_id=", &cms::Message::setCMSMessageID, (Arg("id")));
47
+ //
48
+ // rb_cMessage.define_method("priority", &cms::Message::getCMSPriority);
49
+ // rb_cMessage.define_method("priority=", &cms::Message::setCMSPriority, (Arg("priority")));
50
+ //
51
+ // rb_cMessage.define_method("redelivered?", &cms::Message::getCMSRedelivered);
52
+ // rb_cMessage.define_method("redelivered=", &cms::Message::setCMSRedelivered, (Arg("redelivered")));
53
+ //
54
+ // rb_cMessage.define_method("reply_to", &cms::Message::getCMSReplyTo);
55
+ // rb_cMessage.define_method("reply_to=", &cms::Message::setCMSReplyTo, (Arg("destination")));
56
+ //
57
+ // rb_cMessage.define_method("timestamp", &cms::Message::getCMSTimestamp);
58
+ // rb_cMessage.define_method("timestamp=", &cms::Message::setCMSTimestamp, (Arg("timeStamp")));
59
+ //
60
+ // rb_cMessage.define_method("type", &cms::Message::getCMSType);
61
+ // rb_cMessage.define_method("type=", &cms::Message::setCMSType, (Arg("type")));
62
+ //
63
+ // rb_cMessage.define_method("correlation_id", &cms::Message::getCMSCorrelationID);
64
+ // rb_cMessage.define_method("correlation_id=", &cms::Message::setCMSCorrelationID, (Arg("correlationId")));
65
+ //
66
+ // rb_cMessage.define_method("delivery_mode", &cms::Message::getCMSDeliveryMode);
67
+ // rb_cMessage.define_method("delivery_mode=", &cms::Message::setCMSDeliveryMode, (Arg("mode")));
68
+ }
@@ -0,0 +1,42 @@
1
+ #include "activemq.hpp"
2
+
3
+ void register_MessageProducer(Module rb_module) {
4
+ Data_Type< cms::MessageProducer > rb_cMessageProducer = define_class_under< cms::MessageProducer >(rb_module, "MessageProducer");
5
+ rb_cMessageProducer.define_method("instance?", &instance, (Arg("class")));
6
+
7
+ rb_cMessageProducer.define_method("time_to_live", &cms::MessageProducer::getTimeToLive);
8
+ rb_cMessageProducer.define_method("time_to_live=", &cms::MessageProducer::setTimeToLive, (Arg("time")));
9
+
10
+ rb_cMessageProducer.define_method("delivery_mode", &cms::MessageProducer::getDeliveryMode);
11
+ rb_cMessageProducer.define_method("delivery_mode=", &cms::MessageProducer::setDeliveryMode, (Arg("mode")));
12
+
13
+ rb_cMessageProducer.define_method("priority", &cms::MessageProducer::getPriority);
14
+ rb_cMessageProducer.define_method("priority=", &cms::MessageProducer::setPriority, (Arg("priority")));
15
+
16
+ rb_cMessageProducer.define_method("disable_message_time_stamp?", &cms::MessageProducer::getDisableMessageTimeStamp);
17
+ rb_cMessageProducer.define_method("disable_message_time_stamp=", &cms::MessageProducer::setDisableMessageTimeStamp, (Arg("value")));
18
+
19
+ rb_cMessageProducer.define_method("disable_message_id?", &cms::MessageProducer::getDisableMessageID);
20
+ rb_cMessageProducer.define_method("disable_message_id=", &cms::MessageProducer::setDisableMessageID, (Arg("value")));
21
+
22
+ // {
23
+ // typedef void ( cms::MessageProducer::*send_func_type )( cms::Message* message, int deliveryMode, int priority, long long int timeToLive );
24
+ // rb_cMessageProducer.define_method("send_message_with_attrs", send_func_type( &cms::MessageProducer::send ), (Arg("message"), Arg("delivery_mode"), Arg("priority"), Arg("time_to_live")));
25
+ // }
26
+
27
+ {
28
+ typedef void ( cms::MessageProducer::*send_func_type )( cms::Message* message );
29
+ rb_cMessageProducer.define_method("send_message", send_func_type( &cms::MessageProducer::send ), (Arg("message")));
30
+ }
31
+
32
+ // {
33
+ // typedef void ( cms::MessageProducer::*send_func_type )( const cms::Destination* destination, cms::Message* message );
34
+ // rb_cMessageProducer.define_method("send_message_to", send_func_type( &cms::MessageProducer::send ), (Arg("destination"), Arg("message")));
35
+ // }
36
+ //
37
+ // {
38
+ // typedef void ( cms::MessageProducer::*send_func_type )( const cms::Destination* destination, cms::Message* message, int deliveryMode, int priority, long long int timeToLive );
39
+ // rb_cMessageProducer.define_method("send_message_to_with_attrs", send_func_type( &cms::MessageProducer::send ), (Arg("destination"), Arg("message"), Arg("deliveryMode"), Arg("priority"), Arg("timeToLive")));
40
+ // }
41
+
42
+ }
@@ -0,0 +1,63 @@
1
+ #include "activemq.hpp"
2
+
3
+ template<>
4
+ Rice::Object to_ruby<cms::Session::AcknowledgeMode >(cms::Session::AcknowledgeMode const & a) {
5
+ return Rice::Data_Object<cms::Session::AcknowledgeMode >(new cms::Session::AcknowledgeMode(a), Rice::Data_Type<cms::Session::AcknowledgeMode >::klass(), 0, 0);
6
+ }
7
+
8
+ void register_Session(Module rb_module) {
9
+
10
+ // cms::MessageConsumer* (cms::Session::*Session_createConsumer1)(const cms::Destination*) = &cms::Session::createConsumer;
11
+ // cms::MessageConsumer* (cms::Session::*Session_createConsumer2)(const cms::Destination*, const std::string&) = &cms::Session::createConsumer;
12
+ // cms::MessageConsumer* (cms::Session::*Session_createConsumer3)(const cms::Destination*, const std::string&, bool) = &cms::Session::createConsumer;
13
+ cms::TextMessage* (cms::Session::*Session_createTextMessage1)(const std::string&) = &cms::Session::createTextMessage;
14
+ // cms::BytesMessage* (cms::Session::*Session_createBytesMessage0)() = &cms::Session::createBytesMessage;
15
+ // cms::BytesMessage* (cms::Session::*Session_createBytesMessage2)(const unsigned char* bytes, int bytesSize) = &cms::Session::createBytesMessage;
16
+ // cms::QueueBrowser* (cms::Session::*Session_createBrowser1)(const cms::Queue* queue) = &cms::Session::createBrowser;
17
+ // cms::QueueBrowser* (cms::Session::*Session_createBrowser2)(const cms::Queue* queue, const std::string& selector) = &cms::Session::createBrowser;
18
+
19
+ Data_Type< cms::Session > rb_cSession = define_class_under< cms::Session >(rb_module, "Session");
20
+ rb_cSession.define_method("instance?", &instance, (Arg("class")));
21
+ // rb_cSession.define_method("createBytesMessage", Session_createBytesMessage0);
22
+ // rb_cSession.define_method("createBytesMessage2", Session_createBytesMessage2, (Arg("bytes"), Arg("bytesSize")));
23
+
24
+ rb_cSession.define_method("create_text_message", Session_createTextMessage1, (Arg("text") = new std::string("")));
25
+
26
+ rb_cSession.define_method("create_message", &cms::Session::createMessage);
27
+
28
+ // rb_cSession.define_method("create_stream_message", &cms::Session::createStreamMessage);
29
+ // rb_cSession.define_method("create_map_message", &cms::Session::createMapMessage);
30
+
31
+ // rb_cSession.define_method("createConsumer", Session_createConsumer1, (Arg("destination")));
32
+ // rb_cSession.define_method("createConsumer2", Session_createConsumer2, (Arg("destination"), Arg("selector")));
33
+ // rb_cSession.define_method("createConsumer3", Session_createConsumer3, (Arg("destination"), Arg("selector"), Arg("noLocal")));
34
+
35
+ // rb_cSession.define_method("create_durable_consumer", &cms::Session::createDurableConsumer, (Arg("destination"), Arg("name"), Arg("selector"), Arg("noLocal") = (bool)(false)));
36
+ rb_cSession.define_method("create_producer", &cms::Session::createProducer, (Arg("destination")));
37
+
38
+ rb_cSession.define_method("create_queue", &cms::Session::createQueue, (Arg("name")));
39
+ rb_cSession.define_method("create_topic", &cms::Session::createTopic, (Arg("name")));
40
+ rb_cSession.define_method("create_temporary_queue", &cms::Session::createTemporaryQueue);
41
+ rb_cSession.define_method("create_temporary_topic", &cms::Session::createTemporaryTopic);
42
+
43
+ rb_cSession.define_method("acknowledge_mode", &cms::Session::getAcknowledgeMode);
44
+
45
+ rb_cSession.define_method("transacted?", &cms::Session::isTransacted);
46
+
47
+ rb_cSession.define_method("close", &cms::Session::close);
48
+ rb_cSession.define_method("commit", &cms::Session::commit);
49
+ rb_cSession.define_method("rollback", &cms::Session::rollback);
50
+ rb_cSession.define_method("recover", &cms::Session::recover);
51
+
52
+ // rb_cSession.define_method("unsubscribe", &cms::Session::unsubscribe, (Arg("name")));
53
+
54
+ // rb_cSession.define_method("createBrowser", Session_createBrowser1, (Arg("queue")));
55
+ // rb_cSession.define_method("createBrowser2", Session_createBrowser2, (Arg("queue"), Arg("selector")));
56
+
57
+ Enum<cms::Session::AcknowledgeMode> rb_eAcknowledgeMode = define_enum<cms::Session::AcknowledgeMode>("AcknowledgeMode", rb_cSession);
58
+
59
+ rb_eAcknowledgeMode.define_value("AUTO_ACKNOWLEDGE", cms::Session::AUTO_ACKNOWLEDGE);
60
+ rb_eAcknowledgeMode.define_value("DUPS_OK_ACKNOWLEDGE", cms::Session::DUPS_OK_ACKNOWLEDGE);
61
+ rb_eAcknowledgeMode.define_value("CLIENT_ACKNOWLEDGE", cms::Session::CLIENT_ACKNOWLEDGE);
62
+ rb_eAcknowledgeMode.define_value("SESSION_TRANSACTED", cms::Session::SESSION_TRANSACTED);
63
+ }