ActiveMQ의 세션 설정 관련 이해
참조 블로그 게시물: http://www.cnblogs.com/SzeCheng/p/4792084.html
참조 블로그 게시물: http://activemq.apache.org/producer-flow-control. html
용어 설명:
P: 생산자
C: 소비자
서버: P 또는 ActiveMQ 서비스
클라이언트: ActiveMQ 서비스 또는 C
클라이언트가 메시지를 성공적으로 받았다는 표시는 메시지가 서명되었다는 의미입니다. 메시지 수신 성공에는 일반적으로 다음 세 단계가 포함됩니다.
1. 클라이언트가 메시지를 받습니다.
2. 클라이언트가 메시지를 처리합니다.
3. 메시지가 서명되었습니다.
session = connection.createSession(Boolean.false, Session.CLIENT_ACKNOWLEDGE);##第一个参数控制事务,第二个参数控制消息
트랜잭션이 없는 세션에서 메시지 서명 시기와 방법은 세션 설정에 따라 다릅니다.
1. Session.AUTO_ACKNOWLEDGE
클라이언트가 receive 또는 onMessage에서 성공적으로 반환되면 Session은 자동으로 클라이언트가 이 메시지를 수신했다는 서명을 합니다.
2. Session.CLIENT_ACKNOWLEDGE
클라이언트는 메시지의 확인 메서드를 호출하여 메시지에 서명합니다.
message.acknowledge();
트랜잭션이 포함된 세션에서는 트랜잭션이 커밋될 때 서명이 자동으로 발생합니다. 트랜잭션이 롤백되면 수신된 모든 메시지가 다시 전달됩니다. 실제로 여기서 Session.CLIENT_ACKNOWLEDGE는 거의 사용되지 않습니다.
session = connection.createSession(Boolean.TRUE, Session.CLIENT_ACKNOWLEDGE);
session.commit();
요약:
1. 생산자의 경우: 서버는 P이고 클라이언트는 ActiveMQ 서비스입니다. 세션은 AUTO_ACKNOWLEDGE와 CLIENT_ACKNOWLEDGE로 설정되어 있지만 상대적으로 상황에 따라 차이는 크지 않습니다.
2. 소비자의 경우: 서버는 ActiveMQ이고 클라이언트는 C입니다. 세션은 AUTO_ACKNOWLEDGE로 설정됩니다. 메시지가 수신되면(receive 또는 onMessage가 성공적으로 반환됨) 소비가 성공하고 데이터가 대기열에서 제거됩니다. 데이터가 우리가 원하는 결과로 올바르게 처리되는지 여부는 신경 쓰지 않습니다. 세션이 CLIENT_ACKNOWLEDGE로 설정되면 성공적인 소비를 위해 승인 메서드를 수동으로 호출해야 하며 그런 다음 데이터가 대기열에서 제거됩니다.
3. P와 C의 세션이 서로 영향을 주지 않도록 설정한 모드입니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











1. 적절한 클라이언트 전송 프로토콜 선택 ActiveMQ는 STOMP, AMQP 및 OpenWire를 포함한 다양한 클라이언트 전송 프로토콜을 지원합니다. 성능과 안정성을 최적화하려면 애플리케이션 요구 사항에 따라 올바른 프로토콜을 선택하세요. 2. 메시지 지속성을 구성합니다. 지속성 메시지는 서버가 다시 시작된 후에도 지속되지만 비지속적 메시지는 그렇지 않습니다. 중요한 메시지의 경우 안정적인 전달을 보장하려면 지속성을 선택하세요. 데모 코드: //메시지 지속성 설정 MessageProducerproducer=session.createProducer(destination);producer.setDeliveryMode(Deliv

1. 메시지 라우팅은 JMSSelector를 사용하여 메시지를 필터링합니다. JMSSelector를 사용하여 메시지 속성을 기반으로 들어오는 메시지를 필터링하고 관련 메시지만 처리합니다. 사용자 정의 메시지 라우터 생성: 사용자 정의 라우터를 작성하여 ActiveMQ의 라우팅 기능을 확장하여 특정 대상으로 메시지를 보냅니다. 폴링 로드 밸런싱 구성: 수신 메시지를 여러 메시지 소비자에게 균등하게 분배하여 처리 기능을 향상시킵니다. 2. 지속성은 지속적인 세션을 가능하게 합니다. 즉, 애플리케이션이나 서버에 오류가 발생하더라도 메시지가 손실되지 않도록 지속적으로 저장될 수 있도록 보장합니다. DLQ(배달 못한 편지 대기열) 구성: 재처리 또는 분석을 위해 처리에 실패한 메시지를 DLQ로 이동합니다. 저널 스토리지 사용: 지속성 메시지의 성능을 향상하고

ActiveMQ는 Apache에서 제작한 오픈소스 메시지 미들웨어로 Java 언어를 사용하여 개발되었으며 안정적인 메시징, 비동기 통신 및 클러스터 지원이라는 특징을 가지고 있습니다. ActiveMQ는 다양한 애플리케이션 간에 데이터를 교환할 수 있으며 JMS, AMQP 및 MQtT와 같은 여러 메시징 프로토콜을 지원합니다. 1. ActiveMQ의 장점 ActiveMQ는 다음과 같은 장점을 가지고 있습니다. 안정적인 메시지 전달: ActiveMQ는 네트워크 장애나 서버 가동 중단이 발생하는 경우에도 메시지가 손실되지 않습니다. . 비동기 통신: ActiveMQ는 비동기 통신을 지원하므로 서로 다른 애플리케이션 간의 비실시간 통신이 가능합니다.

目录结构引入maven依赖org.springframework.bootspring-boot-starter-parent1.5.4.RELEASEUTF-8UTF-81.8org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot- starter-testtestorg.springframework

1. 메시지 브로커는 ActiveMQ의 핵심 구성 요소이며 모든 메시지 흐름을 처리합니다. 애플리케이션이 메시지를 연결하고 보내고 받을 수 있는 플랫폼을 제공합니다. BrokerServicebroker=newBrokerService();broker.addConnector("tcp://0.0.0.0:61616");broker.start();2. 메시지 대기열은 ActiveMQ에 메시지를 저장하기 위한 논리적 개념 컨테이너입니다. 메시지 대기열은 여러 생산자로부터 메시지를 수신하여 여러 소비자에게 전달할 수 있습니다. Queuequeue=session.createQueue("내

1통합에 필요한 종속성을 가져옵니다. org.springframework.bootspring-boot-starter-activemq2application.properties 파일 spring.activemq.broker-url=tcp://127.0.0.1:61616spring.activemq.user=adminspring.activemq 비밀번호를 생성합니다. =adminserver.port=8080queue=myqueue3. 사용자 정의 구성 파일 QueueConfig가 구성 파일을 읽습니다.

1. JavaJMS 소개 JavaJMS는 메시지를 생성하고 보내고 받는 데 사용되는 Java API입니다. 이는 안정적인 메시징 기능을 제공하며 분산 시스템 및 엔터프라이즈 수준 애플리케이션에 이상적입니다. 메시징 시스템은 두 애플리케이션이 서로 다른 시스템에 있더라도 한 애플리케이션에서 다른 애플리케이션으로 메시지를 보낼 수 있습니다. 2.JMSAPIJMSAPI는 메시지 전송 및 수신을 위한 일련의 인터페이스와 클래스를 정의합니다. 이러한 인터페이스와 클래스에는 다음이 포함됩니다. javax.jms.ConnectionFactory: JMS 서버에 대한 연결을 만드는 데 사용됩니다. javax.jms.Connection: JMS 서버에 대한 연결입니다. javax.javax.

ActiveMQ는 완전한 오픈 소스 Java 메시지 서버이며 Apache Software Foundation의 가장 인기 있는 프로젝트 중 하나입니다. 이는 JMS(Java Message Service) 사양을 따르며 분산, 비동기 및 메시지 지향 애플리케이션을 구축하기 위한 API 세트를 제공합니다. ActiveMQ는 신뢰성, 효율성 및 유연성으로 잘 알려져 있어 다양한 엔터프라이즈 애플리케이션에 이상적입니다. 신뢰성: ActiveMQ는 지속적인 저장 메커니즘을 사용하여 안정적인 메시지 전달을 보장합니다. 메시지가 ActiveMQ로 전송되면 디스크에 기록되며, 서버에 장애가 발생하더라도 해당 메시지는 손실되지 않습니다. 서버가 다시 시작되면 영구 저장소에서 이러한 메시지를 복원하고 전달합니다.
