Kanal-shutdown: Kanal-Fehler

manchmal fand ich Folgen Eintrag in meine log-Datei. Ich habe keine Ahnung, was das problem ist. Meine Vermutung ist, zum einstellen einer niedrigeren Anforderung Herzschlag. Irgendwelche anderen Ideen?
Darüber hinaus hatte ich die Situation, dass nach einem Kaninchen neu starten mein server nicht in der Lage war, wieder den Dienst nach dem Kaninchen zurück war. Ich muss neu starten mein server, dass eine erneute Verbindung möglich ist.

[AMQP Connection xxx:5672] [ERROR] org.springframework.amqp.rabbit.connection.CachingConnectionFactory - Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no exchange 'xxxx' in vhost 'aaa', class-id=60, method-id=40)

Den Austausch und die Warteschlange nicht automatisch löschen?

public class AmqpConfiguration {

@Autowired
private ConnectionFactory connectionFactory;  

@Bean
public Queue receiverQueue() {
    return new Queue("receiverQueue", true, false, false, getDeadLetterExchangeArgs());
}

@Bean
public FanoutExchange senderExchange() {
    return new FanoutExchange("xxxx");
}

@Bean
public Queue deadLetterQueue() {
    return new Queue("deadLetterQueue");
}

@Bean
public FanoutExchange exchangeDeadLetter() {
    return new FanoutExchange("deadLetter.exchange");
}


@Bean
public Binding bindDeadLetterQueueToExchange() {
    return BindingBuilder.bind(deadLetterQueue()).to(exchangeDeadLetter());
}


@Bean
public Binding bindSenderExchangeToQueue() {
    return BindingBuilder.bind(receiverQueue()).to(senderExchange());
}

@Bean(name = { "listenerContainerFactory" })
public SimpleRabbitListenerContainerFactory listenerContainerFactory() {
    final SimpleRabbitListenerContainerFactory containerFactory = new SimpleRabbitListenerContainerFactory();
    containerFactory.setDefaultRequeueRejected(false);
    containerFactory.setConnectionFactory(connectionFactory);

    //TODO: set heartbeat

    return containerFactory;
}

private Map<String, Object> getDeadLetterExchangeArgs() {
    final Map<String, Object> args = new HashMap<String, Object>();
    args.put("x-dead-letter-exchange", amqpProperties.getDeadLetterExchange());
    return args;
}

}

Cheers,

Dennis

  • Sie brauchen, um Ihre Konfiguration - ist die exchange-auto-löschen? Wenn ja, was verwenden Sie zu erklären, wird der Austausch auf die broker?
  • Danke für Sie schnelle Antwort, siehe Kommentare im orginal post
InformationsquelleAutor SirWayne | 2016-01-04
Schreibe einen Kommentar