RabbitMQ AMQP protocol mismatch - rabbitmq

ConnectionFactory factory = new ConnectionFactory();
factory.setHost(host);
Connection connection = factory.newConnection();
com.rabbitmq.client.MalformedFrameException: AMQP protocol version mismatch; we are version 0-9-1, server sent signature 1,1,0,10
When I try and create a new RabbitMQ connection I am getting this error. Weirdly I installed the RabbitMQ 2.8.2 server on two different linux boxes and one works and the other one doesnt.
Any ideas?

Does one of the boxes have Apache QPID running on it? That'd explain your version mismatch. RabbitMQ Server currently only goes as far as 0.9.1.

Related

configure SSL in HapiContext (Hapi-base 2.3)

In one of our spring boot apps used in Springcloud dataflow streams, we are currently using HapiContext to construct a new HL7 client and establish a connection out of it to send HL7 messages to a TCP host and port.
#Autowired
HapiContext context;
Connection connection = context.newClient(host, Integer.parseInt(port), false);
// The initiator which will be used to transmit our message
Initiator initiator = connection.getInitiator();
Message response = initiator.sendAndReceive(adtMessage);
Currently we are not using SSL/TLS for this connection and call. but we now have a requirement such that the call should be changed to an SSL based one.
I have tried doing a lot of searches on the Internet, but I am not able to find any documentation on how to achieve this.
Is there anyway to get this done?
How are you creating the HapiContext?
The DefaultHapiContext seems to provide for creating a client with a tls parameter.
lookup for the ca.uhn.hl7v2.hoh.sockets.CustomCertificateTlsSocketFactory, this should have createClientSocket which will add the SSL context necessary

Does Airflow support connection over TLS for broker url?

Currently I am trying to use Apache Airflow with Celery executor. For this I have Redis service from IBM cloud. This service has the TLS connection type which means it has the redis protocol as rediss://. Side not: I am using puckel's airflow dockerfile.
I have set redis parameters and my broker url is in the form of rediss://username:password#hostname:port/virtual_host. While I try to run for example, Flower I get these errors:
Secure redis scheme specified (rediss) with no ssl options, defaulting to insecure SSL behaviour.
Steps that I have done till now:
I have added the following lines to the entrypoint.sh:
: "${AIRFLOW__CELERY__SSL_ACTIVE:="True"}"
: "${AIRFLOW__CELERY__BROKER_USE_SSL:="{'ssl_cert_reqs': ssl.CERT_REQUIRED, 'ssl_ca_certs': '/6be25d73-0600-11ea-9bce-eaebe975ceba.crt'}"}"
AIRFLOW__CELERY__BROKER_USE_SSL="${AIRFLOW__CELERY__BROKER_USE_SSL}"
AIRFLOW__CELERY__SSL_ACTIVE="${AIRFLOW__CELERY__SSL_ACTIVE}"
export AIRFLOW__CELERY__SSL_ACTIVE
export AIRFLOW__CELERY__BROKER_USE_SSL
I have tried to use redis:// with the same broker url, but flower even did not started.
Yes it does, but you need a fairly recent version of Kombu and redis-py. We simply have a broker URL that looks like rediss://:BABADEDAuikxWx0oPZYfPE3IXJ9BVlSC#broker.example.com:6379/12?ssl_cert_reqs=CERT_OPTIONAL and it "just works".

Connect to AMPQ RabbitMQ on port 5671

I am trying to connect to a RabbitMQ remote machine to read queue messages and currently I am using port 5672 which is sending the auth message over plain text so I need to get it working on port 5671 but it's failing.
Does it require anymore configuration then just changing the port number below?
I am using the nodeJS plugin for ampq-callback to connect
amqp.connect('amqp://xxx:5671', function(err,conn) {
https://www.rabbitmq.com/ssl.html
https://www.rabbitmq.com/troubleshooting-ssl.html
Yes, you must set up TLS in RabbitMQ.
NOTE: the RabbitMQ team monitors the rabbitmq-users mailing list and only sometimes answers questions on StackOverflow.

Glassfish 3.1 Remote client connecting to JMS queue in cluster

Glassfish 3.1.2
Ubuntu 12.04
I've created a cluster of two nodes and have a JMS queue.
I'm having issues trying to connect to this JMS queue using a remote standalone client.
The cluster JMS listener is on port 27676 and the queue is deployed to the cluster.
mq://Glassfish2:27676/,mq://Glassfish3:27676
When I connect using the code I'd use to connect to a stand alone instance the message is not received by the cluster.
I believe it is using the default 7676 port. When the IIOP port is changed to use port 23700 which is the one the cluster (DAS) is using I get a connection refused exception as it is trying to connect to localhost:27676. At least it's the right port.
WARNING: [C4003]: Error occurred on connection creation [localhost:27676]. - cause: java.net.ConnectException: Connection refused: connect
I've also updated the following values in node config file (domain.xml) to remove references to localhost. jms-host and node-host values.
I had this issue before with a stand alone instance and it was resolved by adding entries to the /etc/hosts file. However, this does not seem to resolve the issue.
I also have all server instance IPs in the hosts file.
Am I missing something very basic here?
Any help would be greatly appreciated.
Thanks
If you look log files under
${glassfish_home}/glassfish/nodes/cluster-name/instance-name/imq/instances/instance-name/log
folder, you will see that
master brockers does not match
Every your node has different master brockers, probably every node know its own brocker as master brocker..
I had the same error and after a few days find this..

Need help deciphering rabbitmq error messages when trying to connect using Python clinet

I have inherited a windows Python application that communicates with linux RabbitMQ. I need it to connect via SSL, but am currently failing.
I am using Win32 OpenSSL v1.0.0c Twisted 10.2.0 and pyOpenSSL.
Rabbitmq logs the following cryptic error message. Anyone have any idea what this might mean?
=ERROR REPORT==== 15-Feb-2011::18:36:41 ===
error on TCP connection <0.12966.102>:{ssl_upgrade_failure,
{{function_clause,
[{ssl_alert,description_txt,")"},
{ssl_alert,alert_txt,1},
{ssl_connection,log_alert,3},
{ssl_connection,handle_event,3},
{gen_fsm,handle_msg,7},
{proc_lib,init_p_do_apply,3}]},
{gen_fsm,sync_send_all_state_event,
[<0.12967.102>,started,5000]}}}
I needed to upgrade to the later version of erlang and rabbitmq.