postwait / node-amqp

[UNMAINTAINED] node-amqp is an AMQP client for nodejs
MIT License
1.69k stars 357 forks source link

Handle failover in amqp #107

Open agollahareesh opened 12 years ago

agollahareesh commented 12 years ago

Is there any way to connect two rabbitmq servers while connecting from node. In present version 0.1.3 it is only supporting single connection to rabbitmq server. Actually the rabbitmq is running in clustered environment, if one connection is failed iam unable to connect other rabbitmq node.
I tried by adding close listener to handle the fail condition and it worked fine for first connect and for second connect the socket is closing.

anthonyu commented 11 years ago

Multiple connections would be a nice feature.

chriswiggins commented 11 years ago

This does work if you pass in an array of hostnames for the addresses. You can also use hostPreference inside your config as well to specify preference for a specific host

momico commented 10 years ago

It will be highly appreciated if an example of how to supply an array of hostnames, since I couldn't find an example or an explanation in the docs.

vertex commented 9 years ago

:+1:

PreethiBabu87 commented 9 years ago

Hi

Am using amqplib/callback_api. how can i list all the rabbit nodes in the connection url.

chriswiggins commented 9 years ago

Unfortunately as far as I'm aware you can't. We'd all be grateful for a pull request though! :-)

Sent from my iPhone

On 11/07/2015, at 12:33 am, PreethiBabu87 notifications@github.com<mailto:notifications@github.com> wrote:

Hi

Am using amqplib/callback_api. how can i list all the rabbit nodes in the connection url.

Reply to this email directly or view it on GitHubhttps://github.com/postwait/node-amqp/issues/107#issuecomment-120399671.

PreethiBabu87 commented 9 years ago

So how will I be able to perform multiple connections using nodejs other than amqplib/callback_api? Any other package can be used?

PreethiBabu87 commented 9 years ago

And I see your comment above stating that array of host names work.. What's the npm package that's required in order to get it work

chriswiggins commented 9 years ago

@PreethiBabu87 its this package. Just don't use URLs to connect, do what is suggested at the top of the README:

var connection = amqp.createConnection({ host: 'dev.rabbitmq.com' });

However for multiple hosts, do:

var connection = amqp.createConnection({ hostArray:
[ 'dev.rabbitmq.com', 'host2', 'host3'] });