php教程 PHP开发 ActiveMQ의 세션 설정 관련 이해

ActiveMQ의 세션 설정 관련 이해

Nov 22, 2016 pm 01:14 PM
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의 세션이 서로 영향을 주지 않도록 설정한 모드입니다.


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Java ActiveMQ에 대한 20가지 모범 사례 Java ActiveMQ에 대한 20가지 모범 사례 Feb 20, 2024 pm 09:48 PM

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

Java ActiveMQ에 대한 20가지 고급 팁 Java ActiveMQ에 대한 20가지 고급 팁 Feb 20, 2024 pm 09:51 PM

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

Java ActiveMQ: 분산 시스템에서 비동기 통신을 쉽게 구현 Java ActiveMQ: 분산 시스템에서 비동기 통신을 쉽게 구현 Feb 19, 2024 pm 10:18 PM

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

SpringBoot에 ActiveMQ를 통합하는 방법 SpringBoot에 ActiveMQ를 통합하는 방법 May 11, 2023 pm 06:16 PM

目录结构引入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

Java ActiveMQ에 대해 꼭 알아야 할 20가지 개념 Java ActiveMQ에 대해 꼭 알아야 할 20가지 개념 Feb 21, 2024 am 08:40 AM

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

Springboot에 Activemq를 통합하는 방법 Springboot에 Activemq를 통합하는 방법 May 21, 2023 pm 01:13 PM

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가 구성 파일을 읽습니다.

Java JMS 시작하기: 메시징 기술의 기본 사항을 쉽게 익히기 Java JMS 시작하기: 메시징 기술의 기본 사항을 쉽게 익히기 Feb 26, 2024 am 10:34 AM

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

Java ActiveMQ: 기업이 안정적이고 효율적인 메시지 전송을 달성하도록 지원 Java ActiveMQ: 기업이 안정적이고 효율적인 메시지 전송을 달성하도록 지원 Feb 19, 2024 pm 10:12 PM

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

See all articles