찾다
Javajava지도 시간느슨하게 결합된 메시지를 사용한 비동기 통신 프로세스란 무엇입니까?

메시지란 무엇입니까

느슨하게 결합된 비동기 통신 프로세스

1. 메시지 지향 미들웨어(MOM): 메시지를 보내는 사람을 생산자라고 합니다. 메시지를 수신하는 구성 요소 호출된 소비자

2 메시지 모델:
a. 지점 간: 대상이 대기열이 되고 메시지는 한 번만 소비될 수 있습니다
b. 게시-구독: 대상이 제목이 되고, 소비자는 구독자라고 불리며, 메시지는 임의의 번호로 소비될 수 있습니다

자바 메시지 서비스

1. JMS API: Java를 사용하여 MOM(메시지 미들웨어)에 액세스하는 통합된 표준 방법을 제공합니다

2. 메시지 생성자 프로세스 개발:
a. 종속성 주입을 사용하여 연결 팩토리 ConnectionFactory 및 대상 대상 객체를 얻습니다
b. 연결 팩토리의 createConnection을 사용하여 연결을 엽니다
c. Connection의 createSession을 사용하여 세션을 생성하고 트랜잭션 매개변수를 지정합니다
d. 세션의 createProducer를 사용하여 화물 대기열 Producer
를 생성합니다. e. 세션의 createMessage를 사용하여 메시지를 생성하고
를 설정합니다. f. 화물 대기열 생산자의 보내기를 사용하여 메시지를 보냅니다
g. 리소스 공개
참고: 위 프로세스는 JavaEE 6을 기반으로 합니다. JavaEE 7은 더 간단한 A 개발 프로세스를 제공합니다

3. 메시지 인터페이스: 메시지 헤더, 메시지 속성, 메시지 구현 클래스: ObjectMessage는 객체를 전송하고, ByteMessage는 바이트를 전송하고, MapMessage는 Map을 전송하고, StreamMessage는 스트림 데이터를 전송하고, TextMessage는 텍스트를 전송합니다.

메시지 구동 Bean(MDB)

1. 장점: 멀티스레딩, 단순화된 메시지 코드

2. 디자인 원칙:

a. MDB 클래스는 메시지 수신기 인터페이스를 직접 또는 간접적으로 구현해야 합니다

b. 구체적이고 공개적이어야 하며 최종 또는 추상 클래스일 수 없습니다
c. POJO여야 하며 다른 MDB의 하위 클래스일 수 없습니다
d. 매개변수가 없는 생성자가 있어야 합니다
e. 최종적인 방법은 있을 수 없습니다
f. MDB 인스턴스가 발생하면 종료되므로 런타임 예외가 발생하지 않습니다.

3. MDB를 사용하여 소비자 프로세스 개발

a. @MessageDriven 주석을 사용하여 클래스를 MDB로 표시하고 MDB 구성을 지정합니다

b. MessageListener 인터페이스를 구현하고 onMessage 메소드를 구현합니다
c. onMessage에 로직을 구현하세요

4. @MessageDriven: 주석이 달린 클래스는 MDB입니다. name은 MDB의 이름을 지정합니다. messageListenerInterface는 MDB에서 구현되는 메시지 인터페이스를 지정합니다(인터페이스는 클래스에서 직접 구현될 수 있음). 독점 구성 속성을 지정합니다

5. MessageLisener: MDB를 메시지 소비자로 등록하고 다양한 시나리오에 따라 다양한 리스너 인터페이스를 구현합니다.

6. ActivationConfigProperty: 메시징 시스템의 구성 정보를 구성합니다

a. 목적지 유형: MDB가 대기열 또는 주제를 수신하는지 여부를 컨테이너에 알립니다

b.connectionFactoryJndiName: MDB
의 JMS 연결을 생성하는 데 사용되는 연결 팩토리 JDNI를 지정합니다. c.destianName: 청취 대상을 지정하세요
d.acknowledgeMode: JMS 세션 확인 모드를 지정합니다
e. subscribeDurability: 지속 구독자로 설정하는 데 사용됩니다
f. messageSelector: 메시지 필터링

7. MDB 수명 주기:

a. MDB 인스턴스 생성 및 설정

b. 리소스 주입
c. 관리형 풀에 저장
d. 메시지가 도착한 목적지를 감지하면 풀에서 유휴 빈을 꺼냅니다
e. 메시지 리스너 메소드, 즉 onMessage 메소드를 실행합니다
f. onMessage 메소드가 실행되면 유휴 Bean을 다시 풀에 저장합니다
g. 필요에 따라 풀에서 빈을 취소/파기하세요

8. MDB에서 메시지 보내기: JNDI에서 대기열에 삽입하고 팩토리 객체에 연결한 다음 Java 메시지와 동일하게 작동합니다

9. 트랜잭션 관리: 일반적인 상황에서는 onMessage 메소드 이전에 트랜잭션이 시작되고 메소드가 끝날 때 트랜잭션이 제출됩니다. 트랜잭션은 메시지 컨텍스트 객체를 통해 롤백될 수 있습니다.

MDB 모범 사례

1. 사용량에 따라 MDB 사용 여부를 선택하세요

2. 메시지 모델 선택: PTP 또는 게시-구독은 프로그램 설계 중에 결정해야 하지만 다행히 둘 사이를 전환하려면 구성 수정만 하면 됩니다

3. 모듈화 유지: MDB의 onMessage 메소드는 비즈니스 로직을 처리해서는 안 됩니다. 비즈니스 로직은 해당 세션 빈에 배치되어야 하며 MDB는 해당 세션 빈 호출을 담당해야 합니다. 4. 필터를 최대한 활용하거나 장면에 따라 대상을 구분하세요

5. 메시지 유형 선택: 사용 시나리오에 따라 전송에 사용되는 메시지 유형을 선택하세요

6. 유해한 메시지에 주의하세요. 사용할 수 없지만 롤백된 메시지는 수신/롤백의 무한 루프에 빠지게 됩니다. 개별 제조업체에는 데드 메시지에 대한 자체 구현이 있지만 프로그래밍할 때는 주의해야 합니다

7. MDB 풀 크기 구성: 시나리오 및 요구 사항에 따라 구성

Reference

EJB 3 실행, 제2판

위 내용은 느슨하게 결합된 메시지를 사용한 비동기 통신 프로세스란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
消息已发出但被对方拒收是什么意思消息已发出但被对方拒收是什么意思Mar 07, 2024 pm 03:59 PM

消息已发出但被对方拒收是所发送的信息已经成功地从设备发送出去,但由于某种原因,对方并没有接收到这条信息。更具体地说,这通常是因为对方已经设置了某些权限或采取了某些操作,导致你的信息无法被正常接收。

如何在iOS 17上的iMessage中向右滑动并快速回复如何在iOS 17上的iMessage中向右滑动并快速回复Sep 20, 2023 am 10:45 AM

如何在iPhone上使用滑动在iMessages中回复注意:滑动回复功能仅适用于iOS17中的iMessage对话,不适用于“信息”应用程序中的常规SMS对话。在iPhone上打开“消息”应用。然后,前往iMessage对话,只需在您要回复的iMessage上向右滑动即可。完成此操作后,所选的iMessage将成为焦点,而所有其他消息将在背景中模糊不清。您将看到一个文本框,用于键入回复以及“+”图标,用于访问iMessage应用程序,如“签到”、“位置”、“贴纸”、“照片”等。只需输入您的消息,

iOS 17:如何在消息中使用表情符号作为贴纸iOS 17:如何在消息中使用表情符号作为贴纸Sep 18, 2023 pm 05:13 PM

在iOS17中,Apple在其消息应用程序中添加了几项新功能,以使与其他Apple用户的交流更具创意和乐趣。其中一个功能是能够使用表情符号作为贴纸。贴纸已经在消息应用程序中存在多年了,但到目前为止,它们并没有太大变化。这是因为在iOS17中,Apple将所有标准表情符号视为贴纸,允许它们以与实际贴纸相同的方式使用。这本质上意味着您不再局限于在对话中插入它们。现在,您还可以将它们拖到消息气泡上的任何位置。您甚至可以将它们堆叠在一起,以创建小表情符号场景。以下步骤向您展示了它在iOS17中的工作方式

小米 15 系列全代号曝光:Dada、Haotian、Xuanyuan小米 15 系列全代号曝光:Dada、Haotian、XuanyuanAug 22, 2024 pm 06:47 PM

小米15系列预计将于10月份正式发布,其全系列代号已在外媒MiCode代码库中曝光。其中,旗舰级小米15Ultra代号为"Xuanyuan"(意为"轩辕"),此名源自中国神话中的黄帝,象征着尊贵。小米15的代号为"Dada",而小米15Pro则以"Haotian"(意为"昊天")为名。小米15SPro内部代号为"dijun",暗指《山海经》创世神帝俊。小米15Ultra系列涵盖

华为 Mate 60 系列最佳入手时机,新增 AI 消除 + 影像升级,更可享秋日礼遇活动华为 Mate 60 系列最佳入手时机,新增 AI 消除 + 影像升级,更可享秋日礼遇活动Aug 29, 2024 pm 03:33 PM

自去年华为Mate60系列开售以来,我个人就一直将Mate60Pro作为主力机使用。在将近一年的时间里,华为Mate60Pro经过多次OTA升级,综合体验有了显著提升,给人一种常用常新的感觉。比如近期,华为Mate60系列就再度迎来了影像功能的重磅升级。首先是新增AI消除功能,可以智能消除路人、杂物并对空白部分进行自动补充;其次是主摄色准、长焦清晰度均有明显升级。考虑到现在是开学季,华为Mate60系列还推出了秋日礼遇活动:购机可享至高800元优惠,入手价低至4999元。常用常新的产品力加上超值

如何在iPhone上编辑消息如何在iPhone上编辑消息Dec 18, 2023 pm 02:13 PM

iPhone上的原生“信息”应用可让您轻松编辑已发送的文本。这样,您可以纠正您的错误、标点符号,甚至是自动更正可能已应用于您的文本的错误短语/单词。在这篇文章中,我们将了解如何在iPhone上编辑消息。如何在iPhone上编辑消息必需:运行iOS16或更高版本的iPhone。您只能在“消息”应用程序上编辑iMessage文本,并且只能在发送原始文本后的15分钟内编辑。不支持非iMessage信息文本,因此无法检索或编辑它们。在iPhone上启动消息应用程序。在“信息”中,选择要从中编辑消息的对话

消息已发出但被对方拒收了是拉黑还是删除消息已发出但被对方拒收了是拉黑还是删除Mar 12, 2024 pm 02:41 PM

1、被加入黑名单:消息已发出但被对方拒收了一般是被拉黑了,这时你将无法向对方发送消息,对方也无法收到你的消息。2、网络问题:如果接收方的网络状况不佳,或者存在网络故障,就可能导致消息无法成功接收。此时,可以尝试等待网络恢复正常后再次发送消息。3、对方设置了免打扰:如果接收方在微信中设置了免打扰功能,那么在一定时间内,发送方的消息将不会被提醒或显示。

小米14Pro怎么设置来消息亮屏?小米14Pro怎么设置来消息亮屏?Mar 18, 2024 pm 12:07 PM

小米14Pro是一款性能配置非常出色的旗舰机型,自从正式发布以来就拥有很高的销量,小米14Pro的很多小功能是会被大家忽视的,比如说是设置来消息亮屏,功能虽小,但是是十分实用的,在使用手机的过程中大家会遇到各种问题,那么小米14Pro怎么设置来消息亮屏呢?小米14Pro怎么设置来消息亮屏?步骤一:打开手机的“设置”应用。步骤二:向下滑动直到找到“锁定屏幕和密码”选项,并点击进入。步骤三:在“锁定屏幕和密码”菜单中,找到并点击“接收通知时亮屏”选项。步骤四:在“接收通知时亮屏”页面中,打开开关以启

See all articles

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.