春の作業、私はrabbitmqに新しいです、私はどこが間違っているか知りたいです。春のrabbitmqリスナーの例外処理
私はrabbitmq接続ファクトリとリスナーを含むリスナーコンテナを作成しました。また、リスナーコンテナにエラーハンドラを提供しましたが、うまくいきません。
私の春の豆:
<rabbit:connection-factory id="RabbitMQConnectionFactory" virtual-host="${rabbitmq.vhost}" host="${rabbitmq.host}" port="${rabbitmq.port}" username="${rabbitmq.username}" password="${rabbitmq.password}"/>
<rabbit:listener-container missing-queues-fatal="false" declaration-retries="0" error-handler="errorHandlinginRabbitMQ" recovery-interval="10000" auto-startup="${rabbitmq.apc.autostartup}" max-concurrency="1" prefetch="1" concurrency="1" connection-factory="RabbitMQConnectionFactory" acknowledge="manual">
<rabbit:listener ref="apcRabbitMQListener" queue-names="${queue.tpg.rabbitmq.destination.apc}" exclusive="true" />
</rabbit:listener-container>
<bean id="errorHandlinginRabbitMQ" class="RabbitMQErrorHandler"/>
これは私のRabbitMQErrorHandlerクラスです:私は、接続ファクトリに無効な資格情報を提供する場合
public class RabbitMQErrorHandler implements ErrorHandler
{
@Override
public void handleError(final Throwable exception)
{
System.out.println("error occurred in message listener and handled in error handler" + exception.toString());
}
}
何私が仮定することは、RabbitMQErrorHandlerクラスのhandleErrorのメソッドである必要がありますサーバーが正常に起動するはずですが、サーバーを実行しようとすると、メソッドが実行されず(例外がコンソールにスローされます)、サーバーを起動できません。どこが何か不足していて、それが何であるか?
おかげで、それが働きました。私は実行したいメソッドは、しかし、それはまだサーバーが適切に起動することを許可しませんでした。リスナーのいくつかの例外のために、リスナーがアクティブ化されていなくても、サーバー上のサービスの残りの部分は機能し続けます。ご案内ください –
認証エラーは致命的とみなされます。 'auto-startup =" false "'を設定し、例外を捕捉できるようにコンテナを手動で起動することができます。 –
と、手動でコンテナを開始するにはどうすればよいですか?それは私が最後の数日から探してきたものです。また、リスナーコンテナに**自動起動**タグがありません –