7.3. 메시징 애플리케이션 변경
이 섹션에서는 JBoss EAP 7의 다양한 메시징 애플리케이션 변경 사항에 대해 설명합니다. 또한 다음을 수행하는 방법에 대해 자세히 알아볼 수 있습니다.
- Jakarta Messaging 배포 설명자 변경
- 외부 자카르타 메시징 클라이언트 업데이트
- 더 이상 사용되지 않는 주소 설정 속성 교체
- 필요한 메시징 애플리케이션 변경 구성
7.3.1. Jakarta Messaging 배포 설명자 교체 또는 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP 7부터는 이름 지정 패턴 -jms.xml 으로 식별되는 독점 HornetQ 메시징 리소스 배포 설명자 파일이 작동하지 않습니다. 다음은 JBoss EAP 6의 Java Message Service 리소스 배포 설명자 파일의 예입니다.
<?xml version="1.0" encoding="UTF-8"?>
<messaging-deployment xmlns="urn:jboss:messaging-deployment:1.0">
<hornetq-server>
<jms-destinations>
<jms-queue name="testQueue">
<entry name="queue/test"/>
<entry name="java:jboss/exported/jms/queue/test"/>
</jms-queue>
<jms-topic name="testTopic">
<entry name="topic/test"/>
<entry name="java:jboss/exported/jms/topic/test"/>
</jms-topic>
</jms-destinations>
</hornetq-server>
</messaging-deployment>
이전 릴리스에서 애플리케이션에서 -jms.xml Java Message Service 배포 설명자를 사용한 경우 Jakarta EE 플랫폼의 리소스 정의 및 구성 섹션에 지정된 표준 배포 설명자를 사용하도록 애플리케이션을 변환하거나 대신 messaging-activemq-deployment 스키마를 사용하도록 배포 설명자를 업데이트할 수 있습니다. 설명자를 업데이트하도록 선택하는 경우 다음과 같은 사항을 수정해야 합니다.
- 네임스페이스를 "urn:jboss:messaging-deployment:1.0"에서 "urn:jboss:messaging-activemq-deployment:1.0"으로 변경합니다.
-
<
hornetq-server> 요소 이름을 <server>로 변경합니다.
수정된 파일은 다음 예와 같아야 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<messaging-deployment xmlns="urn:jboss:messaging-activemq-deployment:1.0">
<server>
<jms-destinations>
<jms-queue name="testQueue">
<entry name="queue/test"/>
<entry name="java:jboss/exported/jms/queue/test"/>
</jms-queue>
<jms-topic name="testTopic">
<entry name="topic/test"/>
<entry name="java:jboss/exported/jms/topic/test"/>
</jms-topic>
</jms-destinations>
</server>
</messaging-deployment>
7.3.2. HornetQ API 교체 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP 6에는 애플리케이션 소스 코드에서 HornetQ API를 사용할 수 있는 org.hornetq 모듈이 포함되어 있었습니다.
Apache ActiveMQ Artemis는 JBoss EAP 7의 HornetQ를 대체하므로 Apache ActiveMQ Artemis API 를 사용하려면 HornetQ API를 사용하는 모든 코드를 마이그레이션해야 합니다. 이 API의 라이브러리는 org.apache.activemq.artemis 모듈에 포함되어 있습니다.
ActiveMQ Artemis는 HornetQ의 진화로, 많은 개념이 여전히 적용됩니다.
7.3.3. 더 이상 사용되지 않는 주소 설정 속성 교체 링크 복사링크가 클립보드에 복사되었습니다!
auto-create-jms-queues,auto-delete-jms-queues, auto-create-jms-topics ,auto-delete-jms-topics 속성 및 auto-delete-jms-topics 속성만 부분적으로 구현되고 JBoss EAP 7에서 완전히 구성할 수 없었습니다. 더 이상 사용되지 않는 이러한 속성은 기술 프리뷰 기능으로 만 제공되었으며 지원되지 않았습니다.
더 이상 사용되지 않는 이러한 특성을 다음과 같은 대체 속성으로 교체해야 합니다.
JBoss EAP 8.0 이후 더 이상 사용되지 않는 속성은 이 기능을 구성하지 않으며 적용되지 않습니다. 교체 속성은 지원되지 않습니다. 최상의 노력으로 마이그레이션하기 위한 방법으로만 제공됩니다.
| 더 이상 사용되지 않는 속성 | 대체 속성 |
|---|---|
| auto-create-jms-queues | auto-create-queues |
| auto-delete-jms-queues | auto-delete-queues |
| auto-create-jms-topics | auto-create-addresses |
| auto-delete-jms-topics | auto-delete-addresses |
JBoss EAP 6에서 기본 주소 설정 속성이 false 로 설정되었습니다. JBoss EAP 7부터는 대체 속성이 기본적으로 true 로 설정됩니다.
JBoss EAP 6 동작을 유지하려면 교체 속성을 false 로 설정해야 합니다.
이러한 교체 속성에 대한 자세한 내용은 JBoss EAP 7.4 Configuring Messaging Guide 의 주소 설정 특성을 참조하십시오.
7.3.4. JBoss EAP 7에 필요한 메시징 애플리케이션 변경 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP 7.2부터 클라이언트 애플리케이션이 Artemis 클라이언트 JAR(예: Artemis -jms-client ,, artemis-artemis- commonsclient 또는 )에 직접 의존하는 경우 artemis- selectorwildfly-client-properties 에 대해 pom.xml 파일에 다음 종속성을 추가해야 합니다.
<dependency>
<groupId>org.jboss.eap</groupId>
<artifactId>wildfly-client-properties</artifactId>
</dependency>
이는 JBEAP-15889 에 설명된 대로 message.getJMSReplyTo() 에서 message.getJMSReplyTo()를 호출할 때 JMSRuntimeException 을 방지하기 위한 것입니다.