java rabbitmq 예제

Java 클라이언트에서 queueDeclare() 매개 변수를 제공하지 않으면 생성된 이름으로 내구성이 없고 배타적이며 자동 삭제 대기열이 생성됩니다. 기본 차단 모드보다 적은 수의 스레드를 사용해야 합니다. 적절한 수의 스레드를 설정하면 특히 연결이 너무 바쁘지 않은 경우 성능이 저하되는 실험을 해서는 안 됩니다. 클라이언트 라이브러리 및 해당 종속성(SLF4J API 및 SLF4J 단순)을 다운로드합니다. 튜토리얼 자바 파일을 따라, 작업 디렉토리에서 해당 파일을 복사합니다. API 참조(JavaDoc)는 별도로 사용할 수 있습니다. 예를 들어 클라이언트가 큐에 바인딩되지 않은 “직접” 형식의 교환으로 설정된 “필수” 플래그가 있는 메시지를 게시하는 경우 반환 리스너가 호출됩니다. TLS를 사용하여 클라이언트와 브로커 간의 통신을 암호화할 수 있습니다. 클라이언트 및 서버 인증(일명 피어 인증)도 지원됩니다.

다음은 Java 클라이언트와 함께 암호화를 사용하는 가장 간단하고 순진한 방법입니다: Java 클라이언트는 다음과 같은 구현과 함께 제공됩니다(자세한 내용은 javadoc 참조): 토폴로지 복구를 가능하게 하기 위해 RabbitMQ Java 클라이언트는 선언된 큐의 캐시를 유지합니다. 교환 및 바인딩. 캐시는 연결당 입니다. 특정 RabbitMQ 기능을 사용하면 클라이언트가 TTL로 인해 큐가 삭제되는 경우와 같이 일부 토폴로지 변경 사항을 관찰할 수 없습니다. RabbitMQ Java 클라이언트는 가장 일반적인 경우 캐시 항목을 무효화하려고 시도합니다: Java 클라이언트의 버전 4.0은 Java 비차단 IO(일명 Java NIO)에 대한 지원을 제공합니다. NIO는 IO를 차단하는 것보다 빠르지 않으며 리소스(이 경우 스레드)를 보다 쉽게 제어할 수 있습니다. 이전 예제를 계속하면 다음 코드는 exchange 및 서버 명명 된 큐를 선언한 다음 함께 바인딩합니다. 이 예제에서 생산자는 시퀀스 번호를 전달하는 많은 수의 메시지를 생성하고 소비자는 별도의 스레드에서 메시지를 사용합니다. 자동 연결 복구를 사용하지 않도록 설정하거나 사용하려면 factory.set자동복구가능(부울) 방법을 사용합니다.

다음 코드 조각은 자동 복구를 명시적으로 활성화하는 방법을 보여 주며(예: Java 클라이언트 이전 4.0.0): RabbitMQ는 일반적으로 응용 프로그램 간의 통합 또는 동일한 응용 프로그램의 다른 구성 요소 간의 통합을 빌드하는 데 일반적으로 사용되는 인기 있는 메시지 브로커입니다. 메시지.