2013-03-01 8 views

risposta

2

Se si guarda alla documentazione del cliente Erlang http://www.rabbitmq.com/erlang-client-user-guide.html si vedrà una sezione intitolata Collegamento a un broker

Questo ti dà alcune opzioni differenti che è possibile specificare quando la configurazione della connessione al server RabbitMQ, una delle opzioni è heartbeat, come è possibile vedere l'impostazione predefinita è 0 quindi non viene specificato heartbeat.

Non so esattamente notazione di Erlang, ma è necessario fare qualcosa di simile:

{ok, Connection} = amqp_connection:start(#amqp_params_network{heartbeat = 5}) 

Il timeout battito cardiaco è specificato in secondi. In questo modo, il tuo interlocutore tornerà al server ogni 5 secondi.

prendere anche uno sguardo a questa discussione: https://groups.google.com/forum/?fromgroups=#!topic/rabbitmq-discuss/u227xzvqOr8

3

Il timeout di connessione predefinito per la produzione di connessioni RabbitMQ è 600 secondi (almeno nel client Java API), di conseguenza, i 10 minuti. È possibile modificare ciò specificando al factory di connessione il timeout prescelto.

È buona norma assicurarsi che la connessione venga rilasciata e ricreata dopo un determinato periodo di tempo, per prevenire eventuali perdite e risorse eccessive. Il codice dovrebbe garantire di cercare una connessione valida che non è prossima a scadere e ristabilire una nuova connessione su quelli che hanno interrotto il timeout. Nel complesso, adottare un approccio di pool-connessione.

- Java Esempio:

ConnectionFactory factory = new ConnectionFactory(); 
    factory.setHost(this.serverName); 
    factory.setPort(this.serverPort); 
    factory.setUsername(this.userName); 
    factory.setPassword(this.userPassword); 
    factory.setConnectionTimeout(YOUR-TIMEOUT-IN-SECONDS); 

    Connection = factory.newConnection(); 
+4

False. Ci sono due timeout: uno memorizzato sul lato server e uno che viene passato a 'Socket.new'. L'ultimo valore predefinito è 0 == infinito ed è controllato da 'factory.setConnectionTimeout'. – djechlin

Problemi correlati