6.4. 메시징 서버 구성 변경


Red Hat JBoss Enterprise Application Platform 8.0에서 Jakarta 메시징 지원 공급자 역할을 하는 구성 및 관련 메시징 데이터를 ActiveMQ Artemis로 마이그레이션하는 방법을 알아보십시오.

6.4.1. 메시징 데이터 마이그레이션

Red Hat JBoss Enterprise Application Platform에서 메시징 데이터를 마이그레이션하는 데 사용할 수 있는 접근 방식을 검토하십시오.

이전 JBoss EAP 7.x 릴리스에서 JBoss EAP 8.0으로 메시징 데이터를 마이그레이션하려면 내보내기 및 가져오기 방법을 사용하여 메시징 데이터를 마이그레이션할 수 있습니다. 이 방법은 이전 릴리스에서 메시징 데이터를 내보내고 관리 CLI import-journal 작업을 사용하여 JBoss EAP 8.0으로 가져와야 합니다. 이 방법은 파일 기반 메시징 시스템에 특히 적용됩니다.

버전 7과 마찬가지로 JBoss EAP 8.0은 ActiveMQ Artemis를 Jakarta Messaging 지원 공급자로 계속 사용하므로 마이그레이션 프로세스를 더 원활하게 수행할 수 있습니다.

다음 방법을 사용하여 이전 릴리스의 메시징 데이터를 XML 파일로 내보낸 다음 import-journal 작업을 사용하여 해당 파일을 가져옵니다.

중요

내보내기 및 가져오기 방법을 사용하여 스토리지에 JDBC 기반 저널을 사용하는 시스템 간에 메시징 데이터를 이동할 수 없습니다.

6.4.1.1.1. JBoss EAP 7.x 릴리스에서 메시징 데이터 내보내기

Red Hat JBoss Enterprise Application Platform 7.x 릴리스에서 메시징 데이터를 내보내려면 다음 절차를 따르십시오.

사전 요구 사항

  • JBoss EAP 7.x가 시스템에 설치되어 있습니다.
  • 터미널 또는 명령줄 인터페이스에 액세스할 수 있습니다.
  • 디렉터리를 탐색하고 명령을 실행하는 데 필요한 권한이 있습니다.

프로세스

  1. 터미널을 열고 JBoss EAP 7.x 설치 디렉터리로 이동하여 관리자 전용 모드에서 서버를 시작합니다.

    $ EAP_HOME/bin/standalone.sh -c standalone-full.xml --start-mode=admin-only
  2. 새 터미널을 열고 JBoss EAP 7.x 설치 디렉터리로 이동한 다음 관리 CLI에 연결합니다.

    $ EAP_HOME/bin/jboss-cli.sh --connect
  3. 다음 관리 CLI 명령을 사용하여 메시징 저널 데이터를 내보냅니다.

    /subsystem=messaging-activemq/server=default:export-journal()

검증

  • 명령 완료 시 로그에 오류 또는 경고 메시지가 없는지 확인합니다.
  • 운영 체제와 호환되는 도구를 사용하여 생성된 출력 파일에서 XML의 유효성을 검사합니다.
6.4.1.1.2. XML 형식의 메시징 데이터 가져오기

JBoss EAP 8.0에서 메시징 데이터를 내보낸 후에는 import-journal 작업을 사용하여 XML 파일을 JBoss EAP 8.0 이상으로 가져와야 합니다.

사전 요구 사항

  • 관리 CLI 마이그레이션 작업 또는 JBoss Server 마이그레이션 도구를 사용하여 JBoss EAP 8.0의 마이그레이션을 완료합니다.
  • 연결된 자카르타 메시징 클라이언트 없이 일반 모드에서 JBoss EAP 8.0 서버를 시작합니다.

프로세스

XML 파일을 JBoss EAP 8.0 또는 이후 버전으로 가져오려면 import-journal 작업을 사용하여 다음 단계를 따르십시오.

중요

대상 서버가 이미 일부 메시징 작업을 수행한 경우 가져오기 실패 시 데이터 손실을 방지하기 위해 import-journal 작업을 시작하기 전에 메시징 폴더를 백업해야 합니다. 자세한 내용은 메시징 폴더 데이터 백업을 참조하십시오.

  1. Jakarta Messaging 클라이언트가 연결되지 않은 상태에서 일반 모드에서 JBoss EAP 8.0 서버를 시작합니다.

    중요

    자카르타 메시징 클라이언트가 연결되지 않은 상태로 서버를 시작하는 것이 중요합니다. import-journal 작업이 Jakarta Messaging 생산자처럼 동작하기 때문입니다. 작업이 진행 중인 경우 즉시 메시지를 사용할 수 있습니다. 가져오기 및 자카르타 메시징 클라이언트가 연결되어 있는 동안 이 작업이 실패하면 자카르타 메시징 클라이언트가 이미 일부 메시지를 사용했을 수 있기 때문에 복구할 방법이 없습니다.

  2. 새 터미널을 열고 JBoss EAP 8.0 설치 디렉터리로 이동한 다음 관리 CLI에 연결합니다.

    $ EAP_HOME/bin/jboss-cli.sh --connect
  3. 다음 관리 CLI 명령을 사용하여 메시징 데이터를 가져옵니다.

    /subsystem=messaging-activemq/server=default:import-journal(file=OUTPUT_DIRECTORY/OldMessagingData.xml)
    중요

    이 명령을 두 번 이상 실행하지 마십시오. 이렇게 하면 중복 메시지가 발생합니다.

6.4.1.1.3. 가져오기 메시징 데이터 오류에서 복구

import-journal 작업이 실패하면 가져오기 메시징 데이터 오류에서 복구할 수 있습니다.

사전 요구 사항

  • JBoss EAP 8.0 서버 및 관리 CLI 명령에 대해 숙지합니다.
  • 메시징 저널 폴더의 디렉터리 위치에 대한 지식.
  • 사용 가능한 경우 대상 서버 메시징 데이터의 이전 백업입니다.

프로세스

  1. JBoss EAP 8.0 서버를 종료합니다.
  2. 메시징 저널 폴더를 모두 삭제합니다. 메시징 저널 폴더에 대한 올바른 디렉터리 위치를 확인하려면 관리 CLI 명령의 메시징 폴더 데이터 백업을 참조하십시오.
  3. 가져오기 전에 대상 서버 메시징 데이터를 백업한 경우 백업 위치의 메시징 폴더를 이전 단계에서 확인한 메시징 저널 디렉터리에 복사합니다.
  4. XML 형식의 메시징 데이터를 가져오는 단계를 반복합니다.

6.4.1.2. 메시징 브리지를 사용하여 메시징 데이터 마이그레이션

Jakarta Messaging 브리지는 소스 Jakarta 메시징 대기열 또는 주제의 메시지를 사용하여 다른 서버에 있는 대상 자카르타 메시징 큐 또는 주제로 보냅니다. Jakarta Messaging 3.1 표준을 준수하는 메시징 서버 간 메시지 브리징을 사용할 수 있습니다. Java Naming 및 Directory Interface를 사용하여 소스 및 대상 Jakarta 메시징 리소스를 검색하여 Java Naming 및 Directory Interface 조회용 클라이언트 클래스가 모듈에 번들되어 Jakarta Messaging 브리지 구성에서 모듈 이름을 선언합니다.

이 섹션에서는 서버를 구성하고 JBoss EAP 7에서 JBoss EAP 8.0으로 메시징 데이터를 이동하기 위한 메시징 브리지를 배포하는 방법에 대해 설명합니다. 이 작업을 수행하려면 다음 단계를 진행합니다.

6.4.1.2.1. JBoss EAP 8.0 서버 구성

모듈 종속성 및 큐 구성을 포함하여 메시징 데이터를 원활히 마이그레이션하기 위해 JBoss EAP 8.0에서 Jakarta 메시징 브릿지를 구성하려면 다음 절차를 따르십시오.

사전 요구 사항

  • JBoss EAP 8.0 서버가 설치되어 실행 중입니다.

프로세스

  1. JBoss EAP 8.0 서버의 messaging-activemq 하위 시스템에서 기본 서버에 대한 다음 jms-queue 구성을 생성합니다.

    jms-queue add --queue-address=MigratedMessagesQueue --entries=[jms/queue/MigratedMessagesQueue java:jboss/exported/jms/queue/MigratedMessagesQueue]
  2. messaging-activemq 하위 시스템 기본 서버에 다음과 유사한 InVmConnectionFactory 연결 요소에 대한 구성이 포함되어 있는지 확인합니다.

    <connection-factory name="InVmConnectionFactory" factory-type="XA_GENERIC" entries="java:/ConnectionFactory" connectors="in-vm"/>

    항목이 포함되지 않은 경우 다음 관리 CLI 명령을 사용하여 항목을 생성합니다.

    /subsystem=messaging-activemq/server=default/connection-factory=InVmConnectionFactory:add(factory-type=XA_GENERIC, connectors=[in-vm], entries=[java:/ConnectionFactory])
  3. InQueue JMS 대기열에서 메시지를 읽고 이를 JBoss EAP 7.x 서버에 구성된 MigratedMessagesQueue 로 전송하는 Jakarta 메시징 브리지를 생성 및 배포합니다.

    /subsystem=messaging-activemq/jms-bridge=myBridge:add(add-messageID-in-header=true,max-batch-time=100,max-batch-size=10,max-retries=-1,failure-retry-interval=1000,quality-of-service=AT_MOST_ONCE,module=org.hornetq,source-destination=jms/queue/InQueue,source-connection-factory=jms/RemoteConnectionFactory,source-context=[("java.naming.factory.initial"=>"org.wildfly.naming.client.WildFlyInitialContextFactory"),("java.naming.provider.url"=>"http-remoting://legacy-host:8080")],target-destination=jms/queue/MigratedMessagesQueue,target-connection-factory=java:/ConnectionFactory)

    이렇게 하면 JBoss EAP 8.0 서버의 messaging-activemq 하위 시스템에 다음 jms-bridge 구성이 생성됩니다.

    <jms-bridge name="myBridge" add-messageID-in-header="true" max-batch-time="100" max-batch-size="10" max-retries="-1" failure-retry-interval="1000" quality-of-service="AT_MOST_ONCE">
        <source destination="jms/queue/InQueue" connection-factory="jms/RemoteConnectionFactory">
            <source-context>
                <property name="java.naming.factory.initial" value="org.wildfly.naming.client.WildFlyInitialContextFactory"/>
                <property name="java.naming.provider.url" value="http-remoting://legacy-host:8080"/>
            </source-context>
        </source>
        <target destination="jms/queue/MigratedMessagesQueue" connection-factory="java:/ConnectionFactory"/>
    </jms-bridge>
6.4.1.2.2. 메시징 데이터 마이그레이션

Red Hat JBoss Enterprise Application Platform 8.0에서 Red Hat JBoss Enterprise Application Platform 8.0으로 메시징 데이터를 마이그레이션하려면 다음 절차를 따르십시오.

사전 요구 사항

  • JBoss EAP 8.0 서버가 설치되어 실행 중입니다.

프로세스

  1. 다음 구성에 대해 제공한 정보가 올바른지 확인합니다.

    • 큐 및 주제 이름입니다.
    • Java Naming and Directory Interface 조회를 위한 java.naming.provider.url 입니다.
  2. 대상 Jakarta Messaging 대상을 JBoss EAP 8.0 서버에 배포했는지 확인합니다.
  3. 마이그레이션 프로세스와 관련된 JBoss EAP 7 서버를 포함하여 JBoss EAP 8.0 서버를 시작합니다.

6.4.1.3. 메시징 폴더 데이터 백업

데이터 무결성을 보장하려면 서버가 이미 메시지를 처리한 경우 변경하기 전에 대상 메시지 폴더를 백업하는 것이 좋습니다. 메시징 폴더의 기본 위치는 EAP_HOME/standalone/data/activemq/ 에서 찾을 수 있지만 구성할 수 있습니다. 메시징 데이터의 위치를 잘 모를 경우 다음 관리 CLI 명령을 사용하여 확인할 수 있습니다.

프로세스

  1. 다음 관리 CLI 명령을 사용하여 메시징 데이터의 위치를 확인합니다.

    /subsystem=messaging-activemq/server=default/path=journal-directory:resolve-path
    /subsystem=messaging-activemq/server=default/path=paging-directory:resolve-path
    /subsystem=messaging-activemq/server=default/path=bindings-directory:resolve-path
    /subsystem=messaging-activemq/server=default/path=large-messages-directory:resolve-path
    참고

    데이터를 복사하기 전에 서버를 중지했는지 확인합니다.

  2. 각 메시징 폴더를 해당 위치를 식별한 후 보안 백업 위치에 복사합니다.

6.4.2. Jakarta Messaging 리소스 어댑터 구성

타사 자카르타 메시징 공급자와 함께 사용할 일반 자카르타 메시징 리소스 어댑터를 구성하는 방식이 Red Hat JBoss Enterprise Application Platform 8.0에서 변경되었습니다. 자세한 내용은 JBoss EAP 7.4 Messaging 구성 가이드의 일반 Java Message Service 리소스 어댑터 배포를 참조하십시오.

6.4.3. 메시징 구성 변경

Red Hat JBoss Enterprise Application Platform 7.0에서 check-for-live-server 속성을 지정하지 않고 replication-primary 정책을 구성한 경우 기본값이 false 로 설정되었습니다. 이는 JBoss EAP 7.1 이상에서 변경되었습니다. check-for-live-server 속성의 기본값이 이제 true 로 설정됩니다.

다음은 check-for-live-server 특성을 지정하지 않고 replication-primary 정책을 구성하는 관리 CLI 명령의 예입니다.

/subsystem=messaging-activemq/server=default/ha-policy=replication-primary:add(cluster-name=my-cluster,group-name=group1)

관리 CLI를 사용하여 리소스를 읽을 때 check-for-live-server 속성 값이 true 로 설정되어 있는지 확인합니다.

/subsystem=messaging-activemq/server=default/ha-policy=replication-primary:read-resource(recursive=true)
{
    "outcome" => "success",
    "result" => {
        "check-for-live-server" => true,
        "cluster-name" => "my-cluster",
        "group-name" => "group1",
        "initial-replication-sync-timeout" => 30000L
    },
    "response-headers" => {"process-state" => "reload-required"}
}

6.4.4. 임베디드 브로커 메시징을 위한 Galleon 계층

JBoss EAP 7에서는 포함된 메시징 브로커가 기본 설치의 일부였습니다. JBoss EAP 8에서는 이 기능이 embedded-activemq 라는 새로운 Galleon 계층에 추가되었습니다.

이 새 계층은 기본 구성의 일부가 아니므로 JBoss EAP에 포함된 브로커를 사용하고자 하는 사용자는 구성에 명시적으로 포함해야 합니다.

이 계층은 고객이 OpenShift에서 전용 AMQ 클러스터를 사용하는 것을 권장하더라도 임베디드 브로커가 포함된 messaging-activemq 하위 시스템을 제공합니다. 또한 이 사용 사례를 지원하는 데 필요한 소켓 바인딩 및 필요한 종속성과 같은 보조 리소스도 프로비저닝합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동