Unable to connect to stomp (activemq) push data server in python, whereas in Java it succeeds -
in java i'm able connect data push service , subscribe it. it's stomp
or openwire
protocol believe. point is, java code works (it's part of it):
import javax.jms.connection; import javax.jms.connectionfactory; import javax.jms.jmsexception; import javax.jms.message; import javax.jms.messageconsumer; import javax.jms.session; import javax.jms.textmessage; import javax.jms.topic; connectionfactory factory = new activemqconnectionfactory(api_key, api_key, "ssl://api.something.com:61616"); connection connection = factory.createconnection(); connection.setclientid(clientid); session = connection.createsession(false, session.auto_acknowledge); topic topic = session.createtopic(topicname); messageconsumer = session.createdurablesubscriber(topic, subid); jmsmessagelistener listener = new jmsmessagelistener(); messageconsumer.setmessagelistener(listener); connection.start();
however in python can't error being stomp.exception.connectfailedexception
. code:
import stomp url = "ssl://api.something.com" port = 61616 class mylistener(stomp.connectionlistener): def on_message(self, headers, message): #... def on_error(self, headers, message): #... conn = stomp.connection(host_and_ports=[(url, port)], prefer_localhost=false) conn.set_listener("", mylistener()) conn.start() # error -> stomp.exception.connectfailedexception
what doing wrong? can see, protocol, url , port same.
you trying connect stomp clients openwire port of course fail since 2 different protocols. need connect stomp clients port backed stomp transportconnector.
<transportconnectors> <transportconnector name="stomp" uri="stomp://localhost:61613"/> </transportconnectors>
Comments
Post a Comment