You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by akhettar <ay...@gmail.com> on 2015/10/07 22:49:22 UTC

I can connect successfully to Artemis using Stomp Ruby client but can't publish messages

Hi

I am using Artemis 1.1.0 version and I am unable to send/publish messages to
Artemis using Ruby stomp client - see below code snippet. I have also tried
other protocols such as AMQP, MQTT none are working. I can successfully
connect (connection is established), but when I publish the message nothing
gets published or sent to the queue. I am not seeing anything in the logs
visible  to indicate what's wrong. However if I switch to Apache ActiveMQ
(any version, the latest works too) the below client works fine. Also,
openwire connections works when using JMeter for example.

Have I missed anything? Your help is very much appreciated.

Regards,

Ayache


*Log output at the start up of Artemis:*

21:31:10,145 INFO  [org.apache.activemq.artemis.integration.bootstrap]
AMQ101000: Starting ActiveMQ Artemis Server
21:31:10,167 INFO  [org.apache.activemq.artemis.core.server] AMQ221000: live
Message Broker is starting with configuration Broker Configuration
(clustered=false,journalDirectory=./data/journal,bindingsDirectory=./data/bindings,largeMessagesDirectory=./data/large-messages,pagingDirectory=./data/paging)
21:31:10,199 INFO  [org.apache.activemq.artemis.core.server] AMQ221013:
Using NIO Journal
21:31:10,251 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
Protocol module found: [artemis-server]. Adding protocol support for: CORE
21:31:10,255 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
Protocol module found: [artemis-amqp-protocol]. Adding protocol support for:
AMQP
21:31:10,266 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
Protocol module found: [artemis-hornetq-protocol]. Adding protocol support
for: HORNETQ
21:31:10,268 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
Protocol module found: [artemis-mqtt-protocol]. Adding protocol support for:
MQTT
21:31:10,272 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
Protocol module found: [artemis-openwire-protocol]. Adding protocol support
for: OPENWIRE
21:31:10,402 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
Protocol module found: [artemis-stomp-protocol]. Adding protocol support
for: STOMP
21:31:10,990 INFO  [org.apache.activemq.artemis.core.server] AMQ221003:
trying to deploy queue jms.queue.DLQ
21:31:11,056 INFO  [org.apache.activemq.artemis.core.server] AMQ221003:
trying to deploy queue jms.queue.ExpiryQueue
21:31:11,181 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
Started Acceptor at 0.0.0.0:5672 for protocols [AMQP]
21:31:11,184 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
Started Acceptor at 0.0.0.0:5445 for protocols [STOMP,HORNETQ]
21:31:11,187 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
Started Acceptor at 0.0.0.0:1883 for protocols [MQTT]
21:31:11,189 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
Started Acceptor at 0.0.0.0:61616 for protocols
[STOMP,MQTT,AMQP,OPENWIRE,HORNETQ,CORE]
21:31:11,191 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
Started Acceptor at 0.0.0.0:61613 for protocols [STOMP]
21:31:11,191 INFO  [org.apache.activemq.artemis.core.server] AMQ221007:
Server is now live

*RUBY STOMP CLIENT*

require 'test/unit'
require 'openssl-extensions'
require 'amqp'
require 'onstomp'

class MyTest < Test::Unit::TestCase

  # Called before every test method runs. Can be used
  # to set up fixture information.

  def setup

  end

  # Called after every test method runs. Can be used to tear
  # down fixture information.

  def teardown
    # Do nothing
  end

  # Fake test
  # def test_artemis_mqtt
  #   EventMachine.run do
  #     connection = AMQP.connect(:host => '127.0.0.1', :user =>'admin',
:pass =>'admin')
  #     puts "Connected to AMQP broker. Running #{AMQP::VERSION} version of
the gem..."
  #
  #     channel  = AMQP::Channel.new(connection)
  #     queue    = channel.queue("PMR2MB", :auto_delete => true)
  #     exchange = channel.direct("")
  #
  #     queue.subscribe do |payload|
  #       puts "Received a message: #{payload}. Disconnecting..."
  #       connection.close { EventMachine.stop }
  #     end
  #
  #     exchange.publish "Hello, world!", :routing_key => queue.name
  #   end
  #
  # end

  def test_onStomp_client
    puts "Starting demo"
    puts "----------------------------"

    running = true
    client = OnStomp::Client.new("stomp://127.0.0.1:61613")
    client.connect

    puts "Connected to broker using protocol #{client.connection.version}"

    client.subscribe("/queue/onstomp_test") do |message|
      puts "Received: '#{message.body}'"
      if message.body == 'finished'
        running = false
      end
    end

    client.send("/queue/onstomp_test", "hello world")
    client.send("/queue/onstomp_test", "this is a simple demo of onstomp")
    client.send("/queue/onstomp_test", "finished")

    Thread.pass while running
    client.disconnect
    puts "----------------------------"
    puts "End of demo"
  end
end



--
View this message in context: http://activemq.2283324.n4.nabble.com/I-can-connect-successfully-to-Artemis-using-Stomp-Ruby-client-but-can-t-publish-messages-tp4702742.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.

Re: I can connect successfully to Artemis using Stomp Ruby client but can't publish messages

Posted by Clebert Suconic <cl...@gmail.com>.
Fair point...

there is the mapping between core and JMS:
http://activemq.apache.org/artemis/docs/1.1.0/jms-core-mapping.html

it doesn't explicitly say about other protocols.
There's a task to improve this relation between prefixes and
protocols.. the doc should probably be changed as part of that.

On Wed, Oct 7, 2015 at 6:28 PM, akhettar <ay...@gmail.com> wrote:
> Many thanks Clebert... It works now. I Couldn't see anywhere these prefixes
> being documented, would it be good to be there.
>
> Ayache
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/I-can-connect-successfully-to-Artemis-using-Stomp-Ruby-client-but-can-t-publish-messages-tp4702742p4702749.html
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.



-- 
Clebert Suconic

Re: I can connect successfully to Artemis using Stomp Ruby client but can't publish messages

Posted by akhettar <ay...@gmail.com>.
Many thanks Clebert... It works now. I Couldn't see anywhere these prefixes
being documented, would it be good to be there.

Ayache



--
View this message in context: http://activemq.2283324.n4.nabble.com/I-can-connect-successfully-to-Artemis-using-Stomp-Ruby-client-but-can-t-publish-messages-tp4702742p4702749.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.

Re: I can connect successfully to Artemis using Stomp Ruby client but can't publish messages

Posted by Clebert Suconic <cl...@gmail.com>.
Artemis has a different prefix for queues... jms.queue for queues,
jms.topic for topics...

Same applies for MQTT and other protocols.

On Wed, Oct 7, 2015 at 4:49 PM, akhettar <ay...@gmail.com> wrote:
> Hi
>
> I am using Artemis 1.1.0 version and I am unable to send/publish messages to
> Artemis using Ruby stomp client - see below code snippet. I have also tried
> other protocols such as AMQP, MQTT none are working. I can successfully
> connect (connection is established), but when I publish the message nothing
> gets published or sent to the queue. I am not seeing anything in the logs
> visible  to indicate what's wrong. However if I switch to Apache ActiveMQ
> (any version, the latest works too) the below client works fine. Also,
> openwire connections works when using JMeter for example.
>
> Have I missed anything? Your help is very much appreciated.
>
> Regards,
>
> Ayache
>
>
> *Log output at the start up of Artemis:*
>
> 21:31:10,145 INFO  [org.apache.activemq.artemis.integration.bootstrap]
> AMQ101000: Starting ActiveMQ Artemis Server
> 21:31:10,167 INFO  [org.apache.activemq.artemis.core.server] AMQ221000: live
> Message Broker is starting with configuration Broker Configuration
> (clustered=false,journalDirectory=./data/journal,bindingsDirectory=./data/bindings,largeMessagesDirectory=./data/large-messages,pagingDirectory=./data/paging)
> 21:31:10,199 INFO  [org.apache.activemq.artemis.core.server] AMQ221013:
> Using NIO Journal
> 21:31:10,251 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-server]. Adding protocol support for: CORE
> 21:31:10,255 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-amqp-protocol]. Adding protocol support for:
> AMQP
> 21:31:10,266 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-hornetq-protocol]. Adding protocol support
> for: HORNETQ
> 21:31:10,268 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-mqtt-protocol]. Adding protocol support for:
> MQTT
> 21:31:10,272 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-openwire-protocol]. Adding protocol support
> for: OPENWIRE
> 21:31:10,402 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-stomp-protocol]. Adding protocol support
> for: STOMP
> 21:31:10,990 INFO  [org.apache.activemq.artemis.core.server] AMQ221003:
> trying to deploy queue jms.queue.DLQ
> 21:31:11,056 INFO  [org.apache.activemq.artemis.core.server] AMQ221003:
> trying to deploy queue jms.queue.ExpiryQueue
> 21:31:11,181 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
> Started Acceptor at 0.0.0.0:5672 for protocols [AMQP]
> 21:31:11,184 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
> Started Acceptor at 0.0.0.0:5445 for protocols [STOMP,HORNETQ]
> 21:31:11,187 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
> Started Acceptor at 0.0.0.0:1883 for protocols [MQTT]
> 21:31:11,189 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
> Started Acceptor at 0.0.0.0:61616 for protocols
> [STOMP,MQTT,AMQP,OPENWIRE,HORNETQ,CORE]
> 21:31:11,191 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
> Started Acceptor at 0.0.0.0:61613 for protocols [STOMP]
> 21:31:11,191 INFO  [org.apache.activemq.artemis.core.server] AMQ221007:
> Server is now live
>
> *RUBY STOMP CLIENT*
>
> require 'test/unit'
> require 'openssl-extensions'
> require 'amqp'
> require 'onstomp'
>
> class MyTest < Test::Unit::TestCase
>
>   # Called before every test method runs. Can be used
>   # to set up fixture information.
>
>   def setup
>
>   end
>
>   # Called after every test method runs. Can be used to tear
>   # down fixture information.
>
>   def teardown
>     # Do nothing
>   end
>
>   # Fake test
>   # def test_artemis_mqtt
>   #   EventMachine.run do
>   #     connection = AMQP.connect(:host => '127.0.0.1', :user =>'admin',
> :pass =>'admin')
>   #     puts "Connected to AMQP broker. Running #{AMQP::VERSION} version of
> the gem..."
>   #
>   #     channel  = AMQP::Channel.new(connection)
>   #     queue    = channel.queue("PMR2MB", :auto_delete => true)
>   #     exchange = channel.direct("")
>   #
>   #     queue.subscribe do |payload|
>   #       puts "Received a message: #{payload}. Disconnecting..."
>   #       connection.close { EventMachine.stop }
>   #     end
>   #
>   #     exchange.publish "Hello, world!", :routing_key => queue.name
>   #   end
>   #
>   # end
>
>   def test_onStomp_client
>     puts "Starting demo"
>     puts "----------------------------"
>
>     running = true
>     client = OnStomp::Client.new("stomp://127.0.0.1:61613")
>     client.connect
>
>     puts "Connected to broker using protocol #{client.connection.version}"
>
>     client.subscribe("/queue/onstomp_test") do |message|
>       puts "Received: '#{message.body}'"
>       if message.body == 'finished'
>         running = false
>       end
>     end
>
>     client.send("/queue/onstomp_test", "hello world")
>     client.send("/queue/onstomp_test", "this is a simple demo of onstomp")
>     client.send("/queue/onstomp_test", "finished")
>
>     Thread.pass while running
>     client.disconnect
>     puts "----------------------------"
>     puts "End of demo"
>   end
> end
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/I-can-connect-successfully-to-Artemis-using-Stomp-Ruby-client-but-can-t-publish-messages-tp4702742.html
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.



-- 
Clebert Suconic

Re: I can connect successfully to Artemis using Stomp Ruby client but can't publish messages

Posted by Clebert Suconic <cl...@gmail.com>.
So, replace /queues by jms.queue. and it should work.

On Wed, Oct 7, 2015 at 4:49 PM, akhettar <ay...@gmail.com> wrote:
> Hi
>
> I am using Artemis 1.1.0 version and I am unable to send/publish messages to
> Artemis using Ruby stomp client - see below code snippet. I have also tried
> other protocols such as AMQP, MQTT none are working. I can successfully
> connect (connection is established), but when I publish the message nothing
> gets published or sent to the queue. I am not seeing anything in the logs
> visible  to indicate what's wrong. However if I switch to Apache ActiveMQ
> (any version, the latest works too) the below client works fine. Also,
> openwire connections works when using JMeter for example.
>
> Have I missed anything? Your help is very much appreciated.
>
> Regards,
>
> Ayache
>
>
> *Log output at the start up of Artemis:*
>
> 21:31:10,145 INFO  [org.apache.activemq.artemis.integration.bootstrap]
> AMQ101000: Starting ActiveMQ Artemis Server
> 21:31:10,167 INFO  [org.apache.activemq.artemis.core.server] AMQ221000: live
> Message Broker is starting with configuration Broker Configuration
> (clustered=false,journalDirectory=./data/journal,bindingsDirectory=./data/bindings,largeMessagesDirectory=./data/large-messages,pagingDirectory=./data/paging)
> 21:31:10,199 INFO  [org.apache.activemq.artemis.core.server] AMQ221013:
> Using NIO Journal
> 21:31:10,251 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-server]. Adding protocol support for: CORE
> 21:31:10,255 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-amqp-protocol]. Adding protocol support for:
> AMQP
> 21:31:10,266 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-hornetq-protocol]. Adding protocol support
> for: HORNETQ
> 21:31:10,268 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-mqtt-protocol]. Adding protocol support for:
> MQTT
> 21:31:10,272 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-openwire-protocol]. Adding protocol support
> for: OPENWIRE
> 21:31:10,402 INFO  [org.apache.activemq.artemis.core.server] AMQ221043:
> Protocol module found: [artemis-stomp-protocol]. Adding protocol support
> for: STOMP
> 21:31:10,990 INFO  [org.apache.activemq.artemis.core.server] AMQ221003:
> trying to deploy queue jms.queue.DLQ
> 21:31:11,056 INFO  [org.apache.activemq.artemis.core.server] AMQ221003:
> trying to deploy queue jms.queue.ExpiryQueue
> 21:31:11,181 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
> Started Acceptor at 0.0.0.0:5672 for protocols [AMQP]
> 21:31:11,184 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
> Started Acceptor at 0.0.0.0:5445 for protocols [STOMP,HORNETQ]
> 21:31:11,187 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
> Started Acceptor at 0.0.0.0:1883 for protocols [MQTT]
> 21:31:11,189 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
> Started Acceptor at 0.0.0.0:61616 for protocols
> [STOMP,MQTT,AMQP,OPENWIRE,HORNETQ,CORE]
> 21:31:11,191 INFO  [org.apache.activemq.artemis.core.server] AMQ221020:
> Started Acceptor at 0.0.0.0:61613 for protocols [STOMP]
> 21:31:11,191 INFO  [org.apache.activemq.artemis.core.server] AMQ221007:
> Server is now live
>
> *RUBY STOMP CLIENT*
>
> require 'test/unit'
> require 'openssl-extensions'
> require 'amqp'
> require 'onstomp'
>
> class MyTest < Test::Unit::TestCase
>
>   # Called before every test method runs. Can be used
>   # to set up fixture information.
>
>   def setup
>
>   end
>
>   # Called after every test method runs. Can be used to tear
>   # down fixture information.
>
>   def teardown
>     # Do nothing
>   end
>
>   # Fake test
>   # def test_artemis_mqtt
>   #   EventMachine.run do
>   #     connection = AMQP.connect(:host => '127.0.0.1', :user =>'admin',
> :pass =>'admin')
>   #     puts "Connected to AMQP broker. Running #{AMQP::VERSION} version of
> the gem..."
>   #
>   #     channel  = AMQP::Channel.new(connection)
>   #     queue    = channel.queue("PMR2MB", :auto_delete => true)
>   #     exchange = channel.direct("")
>   #
>   #     queue.subscribe do |payload|
>   #       puts "Received a message: #{payload}. Disconnecting..."
>   #       connection.close { EventMachine.stop }
>   #     end
>   #
>   #     exchange.publish "Hello, world!", :routing_key => queue.name
>   #   end
>   #
>   # end
>
>   def test_onStomp_client
>     puts "Starting demo"
>     puts "----------------------------"
>
>     running = true
>     client = OnStomp::Client.new("stomp://127.0.0.1:61613")
>     client.connect
>
>     puts "Connected to broker using protocol #{client.connection.version}"
>
>     client.subscribe("/queue/onstomp_test") do |message|
>       puts "Received: '#{message.body}'"
>       if message.body == 'finished'
>         running = false
>       end
>     end
>
>     client.send("/queue/onstomp_test", "hello world")
>     client.send("/queue/onstomp_test", "this is a simple demo of onstomp")
>     client.send("/queue/onstomp_test", "finished")
>
>     Thread.pass while running
>     client.disconnect
>     puts "----------------------------"
>     puts "End of demo"
>   end
> end
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/I-can-connect-successfully-to-Artemis-using-Stomp-Ruby-client-but-can-t-publish-messages-tp4702742.html
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.



-- 
Clebert Suconic