Sun GlassFish Message Queue 4.4 릴리스 노트

1장 릴리스 노트

버전 4.4

부품 번호 821-0025

이 릴리스 노트에는 Sun GlassFish Message Queue 4.4 릴리스 당시에 사용 가능한 중요한 정보가 포함되어 있습니다. 이 문서에서는 새로 추가된 기능과 향상된 기능, 알려진 제한 사항과 문제점 및 기타 정보를 제공합니다. Message Queue 4.4를 사용하기 전에 먼저 이 문서를 읽어 보십시오.

이 릴리스 노트에는 Message Queue 4.3, 4.2, 4.1 및 4.0 릴리스에 대한 정보도 포함되어 있습니다. 예를 들어, 해당 릴리스에 소개된 기능에 대한 자세한 내용은 각각 Message Queue 4.2의 새로운 기능, Message Queue 4.1의 새로운 기능 Message Queue 4.0의 새로운 기능을 참조하십시오.

이 릴리스 노트의 최신 버전은 Sun GlassFish Message Queue 설명서 웹 사이트 http://docs.sun.com/coll/1307.7에서 찾아볼 수 있습니다. 소프트웨어를 설치 및 설정하기 전과 후에도 웹 사이트를 검토하여 최신 릴리스 노트와 제품 설명서를 정기적으로 확인하시기 바랍니다.

이 릴리스 노트는 다음 내용으로 구성되어 있습니다.

이 설명서에서는 추가 관련 정보를 제공하기 위해 타사 URL을 참조하기도 합니다.

Sun은 이 설명서에 언급된 타사 웹 사이트의 가용성에 대해 책임지지 않습니다. Sun은 이러한 사이트나 자원을 통해 사용할 수 있는 내용, 광고, 제품 또는 기타 자료에 대해서는 보증하지 않으며 책임지지 않습니다. Sun은 해당 사이트 또는 자원을 통해 사용 가능한 내용, 제품 또는 서비스의 사용과 관련해 발생하거나 발생했다고 간주되는 손해나 손실에 대해 책임이나 의무를 지지 않습니다.

릴리스 노트 개정 내역

다음 표에서는 Message Queue 제품의 모든 4.x 릴리스 날짜를 나열하고 이 문서에서 각 릴리스와 관련된 변경 사항에 대해 설명합니다.

표 1–1 개정 내역

날짜 

변경 설명 

2009년 10월 

Message Queue 4.4에 대한 이 문서의 릴리스입니다. 이 릴리스에 대한 새로운 기능이 추가되었습니다. 

2009년 5월 

Message Queue 4.4 Beta에 대한 이 문서의 초기 릴리스입니다. 이 릴리스에 대한 새로운 기능이 추가되었습니다. 

2008년 12월 

Message Queue 4.3에 대한 이 문서의 릴리스입니다. 이 릴리스에 대한 새로운 기능이 추가되었습니다. 

2008년 8월 

Message Queue 4.2에 대한 이 문서의 릴리스입니다. 이 릴리스에 대한 새로운 기능이 추가되었습니다. 

2007년 9월 

Message Queue 4.1에 대한 이 문서의 세 번째 릴리스입니다. Java Enterprise System Monitoring Framework 지원, 수정된 C 포트, 버그 수정 및 기타 기능에 대한 설명이 추가되었습니다. 

2007년 4월 

Message Queue 4.1 Beta에 대한 이 문서의 두 번째 릴리스입니다. 고가용성 기능이 추가되었습니다. 

2007년 1월 

Message Queue 4.1 Beta에 대한 이 문서의 초기 릴리스입니다. JAAS 지원에 대한 설명이 추가되었습니다. 

2006년 5월 

Message Queue 4.0에 대한 이 문서의 초기 릴리스입니다. 

Message Queue 4.4 정보

Sun GlassFish Message Queue는 완벽한 기능의 메시지 서비스로 JMS(Java Messaging Specification) 1.1을 따르는 안정적인 비동기식 메시징을 제공합니다. 또한 Message Queue는 JMS 사양을 능가하는 다양한 기능을 제공하여 대규모 엔터프라이즈 배포 요구를 충족시킵니다.

Message Queue 4.4는 Sun GlassFish Application Server의 2.1.1 릴리스에 참여하도록 생성된 부 릴리스입니다. 따라서 Message Queue 4.4의 별도로 다운로드 가능하고 설치 가능한 배포가 제공되지 않습니다.

Message Queue 4.4 지원 플랫폼 및 구성 요소

이 절에서는 Message Queue 4.4 시스템 요구 사항에 대한 다음 항목을 설명합니다.

운영 체제 플랫폼 지원

Message Queue 4.4는 Solaris, Linux, Windows 및 AIX 운영 체제 플랫폼에서 지원됩니다. 표 1–2에서는 이들 각각의 지원되는 플랫폼 버전에 대해 설명합니다. 각 플랫폼의 하드웨어 요구 사항은 Sun GlassFish Message Queue 4.4 Installation Guide를 참조하십시오.

표 1–2 지원되는 플랫폼 버전

플랫폼 

지원되는 버전 

Solaris 

Solaris 9(SunOS 5.9), 모든 업데이트(SPARC, x86)

Solaris 10(SunOS 5.10), 모든 업데이트(SPARC, x86, x64)

Linux 

Red Hat Enterprise Linux Advanced Server 3.0, 4.0, 5.0, 모든 업데이트, 32비트 및 64비트 버전(x86, x64)

Red Hat Enterprise Linux Enterprise Server 3.0, 4.0, 5.0, 모든 업데이트, 32비트 및 64비트 버전(x86, x64)

AIX 

AIX 6.1 

Windows 

Windows Vista 

Windows XP Professional, SP2( x86) [Home, Tablet PC 또는 Media Center Edition 지원 안 됨]

Windows 2000 Advanced Server, SP4(x86) [Professional 또는 Server Edition 지원 안 됨]

Windows Server 2003 Standard 및 Enterprise Edition, SP2, 32비트 및 64비트 버전(x86, x64) [Web 또는 Small Business Server Edition 지원 안 됨]

Windows Server 2008 Standard 및 Enterprise Edition, SP2, 32비트 및 64비트 버전(x86, x64)

시스템 가상화 지원

시스템 가상화는 여러 운영 체제(OS) 인스턴스를 공유 하드웨어에서 독립적으로 실행할 수 있도록 해주는 기술입니다. 기능적으로, 가상화된 환경에서 호스트된 OS에 배포된 소프트웨어는 일반적으로 기반 플랫폼이 가상화되었는지를 인식하지 못합니다. Sun에서는 선별된 시스템 가상화와 OS 조합에서 Sun Java System 제품을 테스트하여 Sun Java System 제품이 적절한 규모로 적절하게 구성된 가상화된 환경에서 가상화되지 않은 시스템에서처럼 계속해서 작동하는지를 검증합니다. 가상화된 환경에서의 Sun Java System 제품 지원에 대한 자세한 내용은 http://download.oracle.com/820-4651을 참조하십시오.

구성 요소 종속성

Message Queue 4.4는 플랫폼별 요구 사항 외에도 Message Queue 클라이언트를 개발 및 실행하기 위해 설치해야 하는 기본 구성 요소에도 종속됩니다. 표 1–3에서는 이러한 구성 요소에 대해 설명합니다. 다른 버전이나 공급업체 구현도 사용할 수 있지만 Sun Microsystems에서 테스트되지 않았으므로 공식적으로 지원되지는 않습니다.


주 –

Solaris, Linux 및 Windows 플랫폼용 Message Queue 설치 프로그램을 사용하여 기존 JDK/JRE를 선택하거나 JDK 버전(1.5.0_15)을 설치할 수 있습니다.


표 1–3 필요한 지원 구성 요소

구성 요소 

지원 

지원되는 버전 [Sun Microsystems 제품 버전만 해당]

Java Runtime Environment(JRE)

Message Queue 브로커 및 관리 도구 

J2SETM Runtime Environment 1.5.0_15 이상

JavaTM SE Runtime Environment 1.6.0_10

Java Software Development Kit(JDK), Standard Edition

Java 클라이언트 개발 및 배포 

J2SETM Development Kit 1.5.0_15 이상

Java SE Development Kit 1.6.0_10

표 1–4에서는 Message Queue 클라이언트 지원을 강화하기 위해 설치할 수 있는 추가 구성 요소에 대해 설명합니다. 나열된 구성 요소가 모두 필요한 것은 아닙니다. 예를 들어, C 클라이언트를 작성하지 않을 경우 C 컴파일러, C++ 런타임 라이브러리, NSPR 또는 NSS가 필요하지 않습니다.

표 1–4 선택적 지원 구성 요소

구성 요소 

지원 

지원되는 버전 

Application Server 

HTTP/HTTPS

Sun GlassFish Application Server Enterprise Edition, 버전 9.1 .1(GlassFish Enterprise Server 2.1) 

Web Server 

HTTP/HTTPS

Sun GlassFish Web Server Enterprise Edition, 버전 7.0, Update 3 

데이터베이스 

JDBC 기반 데이터 저장소 

HADB, 버전 4.4.3–6

Java DB(Apache Derby), 버전 10.4

MySQL Community/Enterprise Edition, 버전 5.0 

Oracle 9i, 10g 및 11g 

postgreSQL, 버전 8.1 


주 –

PointBase 데이터베이스는 더 이상 지원되지 않습니다.


고가용성 데이터베이스 

고가용성 브로커 클러스터 

HADB, 버전 4.4.3–6

MySQL Cluster Edition, 버전 5.0 

Oracle 10g 및 11g 

LDAP(Lightweight Directory Access Protocol) 디렉토리 서버

Message Queue 사용자 저장소 및 관리 대상 객체 

Sun GlassFish Directory Server, 버전 6.0 

JNDI(Java Naming and Directory Interface)

관리 대상 객체 지원 및 LDAP 사용자 저장소

JNDI 버전 1.2.1

LDAP 서비스 공급자, 버전 1.2.2

파일 시스템 서비스 공급자, 버전 1.2 Beta 3 [관리 대상 객체 지원만 가능합니다. 즉, 개발 및 테스트용으로는 지원되지만 작업 환경에 배포하는 경우에는 지원되지 않습니다.]

C 컴파일러 및 호환 C++ 런타임 라이브러리 

Message Queue C 클라이언트 

Solaris: Sun Studio, 버전 11 이상, 표준 모드 및 C 컴파일러가 포함된 C++ 컴파일러

Linux: gcc/g++, 버전 3.2.3

Windows: Microsoft Windows Visual C++, 버전 6.0 SP3

Netscape Portable Runtime(NSPR)

Message Queue C 클라이언트 

버전 4.7 [다운로드 번들에 공유 패키지로 제공됩니다.]

NSS(Network Security Services)

Message Queue C 클라이언트 

버전 3.11.9

Message Queue 4.4 및 최신 릴리스의 새로운 기능

Message Queue 4.4 및 Message Queue 4.x 제품군의 이전 릴리스에 포함된 새로운 기능은 다음 절에 설명되어 있습니다.

Message Queue 4.4의 새로운 기능

Message Queue 4.4는 다양한 기능 향상 및 버그 수정이 포함된 부 릴리스입니다. 이 절에서는 이 릴리스에 포함된 새로운 기능에 대해 설명합니다.

JMS 브리지 서비스

JMS 사양에서는 브로커와 클라이언트 간 통신용 와이어 프로토콜을 정의하지 않으므로 각 JMS 공급자(Message Queue 포함)는 자체의 적절한 프로토콜을 정의하고 사용합니다. 이로 인해 JMS 공급자 간에는 상호 운용성이 결여되었습니다.

Message Queue 4.4의 JMS 브리지 서비스는 Message Queue 브로커에서 자체 대상을 외부 JMS 공급자의 대상에 매핑하도록 하여 이러한 격차를 극복합니다. 이 매핑은 Message Queue 브로커에서 외부 JMS 공급자의 클라이언트와 효과적으로 통신할 수 있도록 해줍니다.

JMS 브리지 서비스에서는 다음과 같은 외부 JMS 공급자에서 대상 매핑을 지원합니다.

대부분의 개방형 소스 및 상용 JMS 공급자가 이러한 요구 사항을 충족하므로 JMS 브리지 서비스를 통해 Message Queue을(를) 다른 JMS 공급자가 사용되는 기존 메시징 환경에 효과적으로 통합할 수 있습니다.

JMS 브리지 서비스에 대한 자세한 내용은 다음을 참조하십시오.

STOMP 브리지 서비스

앞서 언급한 대로 JMS 사양에서는 브로커와 클라이언트 간 통신용 와이어 프로토콜을 정의하지 않습니다. STOMP(Streaming Text Oriented Messaging Protocol) 개방형 소스 프로젝트(http://stomp.codehaus.org)에서는 임의 언어로 작성된 클라이언트에서 STOMP 프로토콜을 지원하는 메시징 공급자와 통신하는 데 사용할 수 있는 단순 와이어 프로토콜을 정의합니다.

Message Queue 4.4에서는 STOMP 브리지 서비스를 통해 STOMP 프로토콜에 대한 지원을 제공합니다. 이 서비스를 사용하여 Message Queue 브로커에서 STOMP 클라이언트와 통신할 수 있습니다.

STOMP 브리지 서비스에 대한 자세한 내용은 다음을 참조하십시오.

추가 향상된 기능

다음과 같은 추가 향상된 기능도 Message Queue 4.4에서 제공됩니다.

새 UMS(Universal Message Service) 기능

UMS에서는 이제 HTTP GET을 사용하여 다음과 같은 여러 서비스를 제공하는 기능을 제공합니다.

UMS 개요에 대해서는 Universal Message Service(UMS)를 참조하십시오. UMS API 설명서에 대해서는 https://mq.dev.java.net/4.3-content/ums/protocol.html을 참조하십시오. 여러 언어의 프로그래밍 예에 대해서는 https://mq.dev.java.net/4.3-content/ums/examples/README.html을 참조하십시오.

IPS 패키지 지원

Message Queue는 이제 pkg(5) 시스템으로 알려진 개방형 소스 IPS(Image Packaging System)를 사용하여 배포용으로 패키지화되어 있습니다. Message Queue를 Sun GlassFish Enterprise Server 2.1.1과 통합하기 위해 이 패키지화 방법이 추가되었습니다.

Message Queue 4.3의 새로운 기능

Message Queue 4.3은 다양한 향상된 기능 및 버그 수정이 포함된 부 릴리스였습니다. 이 절에서는 이 릴리스에 포함된 새로운 기능에 대해 설명합니다.

Universal Message Service(UMS)

Message Queue 4.3에는 http 지원 장치에서 Message Queue에 대한 액세스를 제공하는 새로운 UMS(universal messaging service) 및 메시징 API가 도입되었습니다. 따라서 거의 모든 응용 프로그램이 다른 응용 프로그램과 통신할 수 있으며 JMS 메시징의 안정성과 확실한 전달 기능을 유용하게 사용할 수 있습니다. 또한 UMS에서는 JMS 메시징에 대한 향상된 확장성을 제공하므로 메시징 클라이언트 수가 인터넷 규모 비율에 도달할 수 있습니다.

구조

기본 UMS 구조는 다음 그림과 같습니다.

그림 1–1 UMS 구조

JMS가 아닌 클라이언트와 JMS 공급자 간 게이트웨이로서 UMS를 나타내는 그림.

웹 서버에서 실행되는 UMS는 언어 중립적이며 플랫폼 독립적입니다. UMS는 JMS가 아닌 클라이언트 응용 프로그램과 JMS 공급자 간 게이트웨이로 사용됩니다. UMS는 UMS API를 사용하여 보낸 메시지를 받고, 해당 메시지를 JMS 메시지로 변환하여, 공급자의 기본 프로토콜을 통해 JMS 공급자의 대상에 생성합니다. 마찬가지로 JMS 공급자의 대상에서 메시지를 검색하고, 해당 메시지를 텍스트 또는 SOAP 메시지로 변환하여, UMS API를 통해 클라이언트에서 요청된 대로 메시지를 JMS가 아닌 클라이언트에 보냅니다.

단순하고 언어 독립적인 프로토콜 기반 UMS API는 웹 기반 및 웹 기반이 아닌 응용 프로그램을 지원하며 스크립팅 및 프로그래밍 언어와 함께 사용될 수 있습니다. API는 REST(Representational State Transfer) 스타일 프로토콜을 사용하는 단순 메시징 API 및 SOAP 메시지 헤더에 프로토콜을 포함하는 XML 메시징 API의 두 가지 스타일로 제공됩니다. 그러나 두 경우 모두 메시지를 보내거나 받으려면 API에 단일 http 요청이 필요합니다.

UMS API의 단순성과 유연성으로 인해 AJAX, .NET, Python, C, Java 및 다른 여러 응용 프로그램에서 텍스트 메시지 및/또는 SOAP(첨부 파일 포함) 메시지를 JMS 대상으로 보내거나 JMS 대상에서 메시지를 받을 수 있습니다. 예를 들어, Python 응용 프로그램은 .NET 응용 프로그램과 통신할 수 있고, iPhone은 Java 응용 프로그램과 통신할 수 있습니다.

Message Queue 4.3의 경우 UMS에서는 Message Queue만 JMS 공급자로 지원합니다.

추가 기능

UMS는 위에서 설명된 단순 게이트웨이 이상으로 사용됩니다. UMS는 상태 있는 클라이언트 세션과 상태 없는 클라이언트 세션을 지원합니다. 클라이언트에서 요청한 경우 UMS는 여러 서비스 요청에 걸쳐 클라이언트 응용 프로그램의 세션 상태를 유지합니다. UMS는 컨테이너에서 관리되는 인증을 사용하거나 Message Queue 브로커를 통해 클라이언트를 인증하도록 구성하거나 두 방법을 모두 사용할 수 있습니다. UMS는 트랜잭션을 지원하므로 클라이언트 응용 프로그램이 여러 서비스 요청을 단일 기본 단위로 완결하거나 롤백할 수 있습니다.

UMS는 Message Queue 브로커에 대한 단일 연결에서 다수의 클라이언트를 지원할 수 있으므로 브로커의 연결 서비스에 쉽게 로드할 수 있도록 해주어 최대 확장성을 제공합니다. 또한 수평 확장으로 UMS 용량을 늘릴 수 있어 인터넷 규모의 메시징 로드가 가능합니다.

클라이언트측에서는 프로토콜 기반 UMS API의 단순성으로 인해 클라이언트 라이브러리가 필요하지 않습니다. 따라서 나중에 API를 확장하여 클라이언트 응용 프로그램을 업그레이드할 필요 없이 추가 JMS 기능을 구현할 수 있습니다.

UMS 사용

UMS를 사용하려면 UMS를 서블릿 2.4 이상 사양을 지원하는 웹 컨테이너에 배포하고 Message Queue 브로커를 시작한 다음 해당 대상을 생성하고 UMS API를 사용하여 메시지를 보내거나 받는 메시징 응용 프로그램을 작성합니다.

Message Queue 4.3 배포에 포함된 UMS imqums.war 파일은 플랫폼에 따라 다음 위치에 설치됩니다.

.war 파일 이름을 적절하게 바꿀 수 있습니다.

표 1–5 imqums.war 파일 위치

플랫폼 

imqums.war 위치

Solaris 

/usr/share/lib/imq

Linux 

/opt/sun/mq/share/lib

AIX 

IMQ_HOME/lib

Windows 

IMQ_HOME\lib

imqums.warlocalhost:port에 있는 웹 컨테이너에 배포한 후에는 다음 위치에서 UMS 설명서를 찾을 수 있습니다.

http://localhost:port/imqums

그렇지 않으면 다음과 같이 UMS 설명서를 찾을 수 있습니다.

지원되는 웹 컨테이너

UMS는 현재 다음 웹 컨테이너에서 지원됩니다.

AIX 플랫폼 지원

Message Queue 4.3에서는 AIX 플랫폼 패키지와 패키지 설치를 위한 설치 프로그램을 제공합니다.

Message Queue AIX 구현에서는 다음 소프트웨어를 지원합니다.

설치 지침에 대해서는 Sun GlassFish Message Queue 4.4 Installation Guide의 4 장, AIX Installation를 참조하십시오.

AIX 플랫폼에서 Message Queue 파일은 하나의 Message Queue 홈 디렉토리 IMQ_HOME에 설치됩니다. IMQ_HOMEmqInstallHome/mq 디렉토리를 나타냅니다. 여기서 mqInstallHome은 제품을 설치할 때 지정하는 설치 홈 디렉토리입니다(기본적으로 home-directory /MessageQueue).

결과 Message Queue 디렉토리 구조는 Windows 플랫폼의 구조와 동일합니다(Sun GlassFish Message Queue 4.4 Administration Guide의 부록 A, Platform-Specific Locations of Message Queue Data의 Windows 절 참조).

AIX 플랫폼에 대한 Message Queue 지원에는 Message Queue C-API에 대한 지원이 포함됩니다. AIX 플랫폼에서 C 응용 프로그램을 빌드 및 컴파일하는 방법에 대한 자세한 내용은 XREF를 참조하십시오.

새로운 Zip 기반 설치 프로그램

Message Queue 4.3에는 기본 패키지 배포와 반대되는 새로운 Zip 기반 배포용 설치 프로그램이 도입되었습니다. 이 설치 프로그램은 AIX 플랫폼용 새 Message Queue .zip 배포를 설치하는 데 사용됩니다.

새 설치 프로그램은 Message Queue .zip 파일을 사용자에게 쓰기 액세스 권한(루트 권한이 필요하지 않음)이 있는 디렉토리에 추출하며 이를 통해 Message Queue 설치를 Sun Connection에 등록할 수도 있습니다.

다운로드 번들 크기를 최소화하기 위해 Java 런타임이 더 이상 zip 기반 배포에 포함되지 않습니다(대부분의 사이트가 이미 포함하고 있음). 따라서 installer 명령을 사용하려면 JAVA_HOME 환경 변수를 사용하거나 다음과 같이 명령줄에서 -j 옵션을 사용하여 JDK 또는 JRE를 지정해야 합니다.

$ installer -j JDK/JRE-path

여기서 JDK/JRE-path는 지정된 JDK 또는 JRE의 경로입니다.

확장된 플랫폼 지원

다음과 같은 업데이트된 플랫폼 지원이 Message Queue 4.3에 대해 인증됩니다.

추가 향상된 기능

다음과 같은 추가 향상된 기능이 Message Queue 4.3에 포함됩니다.

Windows 플랫폼의 새 디렉토리 구조

Windows 플랫폼에서 Message Queue의 설치 디렉토리 구조가 AIX 플랫폼의 구조와 일치하도록 이전 버전에서 수정되었습니다. 하나의 컴퓨터에 여러 설치를 용이하게 하고, Sun에서 호스팅하는 서비스로서 Sun 하드웨어 및 소프트웨어를 추적, 구성 및 유지 관리하는 데 도움이 되는 Sun Connection을 통해 Message Queue를 쉽게 자동 업데이트할 수 있도록 이 디렉토리 구조는 나중에 Solaris 및 Linux 플랫폼에서도 채택될 예정입니다( Sun Connection 등록을 위한 설치 프로그램 지원 참조).

새 브로커 등록 정보

브로커를 구성하는 데 다음과 같은 새 등록 정보를 사용할 수 있습니다.

표 1–6 브로커 라우팅 및 전달 등록 정보

등록 정보 

유형 

기본값 

설명 

imq.transaction.producer.maxNumMsgs

정수 

1000

생성자가 단일 트랜잭션에서 처리할 수 있는 최대 메시지 수입니다. 자원 고갈을 방지하려면 값을 5000 미만으로 설정하는 것이 좋습니다. 

imq.transaction.consumer.maxNumMsgs

정수 

100

사용자가 단일 트랜잭션에서 처리할 수 있는 최대 메시지 수입니다. 자원 고갈을 방지하려면 값을 1000 미만으로 설정하는 것이 좋습니다. 

imq.persist.jdbc.connection.limit

정수 

5

데이터베이스에 대해 열 수 있는 최대 연결 수입니다. 

JMX 관리 API의 향상된 기능

다음과 같이 새로운 속성 및 복합 데이터 키가 JMX API에 추가되었습니다.

자세한 내용은 Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients의 3 장, Message Queue MBean Reference를 참조하십시오.

와일드카드 가입자에 대한 영구 가입 나열

영구 가입 나열 명령

list dur [-d topicName]

주제 이름 지정을 선택 사항으로 설정하도록 향상되었습니다. 주제를 지정하지 않는 경우 명령을 실행하면 모든 주제에 대한 모든 영구 가입이 나열됩니다(와일드카드 이름 지정 규칙을 통한 항목 포함).

Message Queue 4.2의 새로운 기능

Message Queue 4.2는 많은 새로운 기능과 몇 가지 향상된 기능 및 버그 수정이 포함된 부 릴리스였습니다. 이 절에서는 4.2 릴리스의 새로운 기능과 사용 가능한 추가 참조 정보에 대해 설명합니다.

Message Queue 4.1 및 4.0에 도입된 기능에 대한 자세한 내용은 Message Queue 4.1의 새로운 기능 Message Queue 4.0의 새로운 기능을 각각 참조하십시오.

게시자 또는 가입자를 위한 여러 대상

Message Queue 4.2에서 게시자는 여러 주제 대상에 메시지를 게시할 수 있고 가입자는 여러 주제 대상에서 메시지를 사용할 수 있습니다. 여러 대상을 나타내는 와일드카드 문자가 포함된 주제 대상 이름을 사용하여 이 기능을 수행할 수 있습니다. 이러한 심볼릭 이름을 사용하면 관리자는 필요에 따라 와일드카드 이름 지정 체계에 맞게 추가 주제 대상을 만들 수 있습니다. 게시자와 가입자는 추가된 대상에서 자동으로 메시지를 게시하거나 사용합니다. (와일드카드 주제 가입자가 게시자보다 더 일반적입니다.)


주 –

대기열 대상에는 이 기능이 적용되지 않습니다.


심볼릭 주제 대상 이름 및 예에 사용되는 형식은 Sun GlassFish Message Queue 4.4 Administration GuideSupported Topic Destination Names에 설명되어 있습니다.

XML 페이로드 메시지의 스키마 검증

Message Queue 4.2에 도입된 이 기능을 통해 브로커로 메시지를 보낼 때 XML 스키마를 기준으로 텍스트(객체 아님) XML 메시지의 내용을 검증할 수 있습니다. XML 스키마(XSD)의 위치는 Message Queue 대상의 등록 정보로 지정됩니다. XSD 위치가 지정되지 않은 경우에는 XML 문서에 있는 DTD 선언을 사용하여 DTD 검증이 수행됩니다. (데이터 유형 및 값 범위 검증이 포함되는 XSD 검증은 DTD 검증보다 더 엄격합니다.)

이 기능의 사용에 대한 자세한 내용은 XML 페이로드 메시지의 스키마 검증을 참조하십시오.

분산 트랜잭션에 대한 C-API 지원

X/Open 분산 트랜잭션 모델에 따르면 분산 트랜잭션에 대한 지원은 하나 이상의 자원 관리자에서 수행되는 작업을 추적 및 관리하는 분산 트랜잭션 관리자에 의해 결정됩니다. Message Queue 4.2에서 Message Queue C-API는 XA 호환 자원 관리자로 분산 트랜잭션 관리자와 Message Queue 간에 XA 인터페이스를 지원하므로 분산 트랜잭션 처리 환경(예: BEA Tuxedo)에서 실행되는 Message Queue C-API 클라이언트는 분산 트랜잭션에 참가할 수 있습니다.

이 분산 트랜잭션 지원은 XA 인터페이스 사양을 구현하는 데 사용되는 다음과 같은 새로운 C-API 함수, 매개 변수 및 오류 코드로 구성됩니다.

MQGetXAConnection()
MQCreateXASession()

분산 트랜잭션 컨텍스트에서 C 클라이언트 응용 프로그램을 사용할 경우 MQGetXAConnection()을 사용하여 연결을 설정하고 MQCreateXASession()을 사용하여 메시지를 생성 및 사용하기 위한 세션을 작성해야 합니다. 모든 분산 트랜잭션의 시작, 완결 및 롤백은 분산 트랜잭션 관리자에서 제공되는 API를 통해 관리됩니다.

배포된 트랜잭션 기능 사용에 대한 자세한 내용은 Sun GlassFish Message Queue 4.4 Developer’s Guide for C ClientsWorking With Distributed Transactions을 참조하십시오.

Message Queue 4.2는 Tuxedo 트랜잭션 관리자에 기반한 프로그래밍 예를 제공합니다. 이러한 샘플 프로그램 사용에 대한 자세한 내용은 Sun GlassFish Message Queue 4.4 Developer’s Guide for C ClientsDistributed Transaction Sample Programs을 참조하십시오.


주 –

배포된 트랜잭션 기능은 Solaris, Linux 및 Windows 플랫폼에서 지원되지만 이제까지는 Solaris 플랫폼에서만 인증되었습니다.


Sun Connection 등록을 위한 설치 프로그램 지원

Sun에서 호스트되는 서비스로서 Sun 하드웨어 및 소프트웨어를 추적, 구성 및 유지 관리하는 데 도움이 되는 Sun Connection에 Message Queue를 등록할 수 있도록 Message Queue 설치 프로그램이 향상되었습니다.

Message Queue 설치의 일부로 Message Queue를 Sun Connection에 등록하도록 선택할 수 있습니다. 릴리스 버전, 호스트 이름, 운영 체제, 설치 날짜 및 기타 기본 정보 등의 설치된 Message Queue에 대한 정보는 Sun Connection 데이터베이스로 안전하게 전송됩니다. Sun Connection 인벤토리 서비스를 통해 Sun 하드웨어 및 소프트웨어를 구성할 수 있으며 업데이트 서비스는 사용 가능한 최신 보안 수정 사항, 권장 업데이트 및 기능 향상에 대해 알려줍니다.

Message Queue를 Sun Connection에 등록하는 방법에 대한 자세한 내용은 Sun GlassFish Message Queue 4.4 Installation Guide를 참조하십시오.

MySQL 데이터베이스 지원

Message Queue 4.2에는 JDBC 기반 데이터 저장소로서 MySQL 데이터베이스에 대한 지원이 도입되었습니다. MySQL Cluster Edition은 독립 실행형 브로커의 JDBC 데이터베이스로 사용할 수 있으며, 향상된 브로커 클러스터에 필요한 고가용성 공유 데이터 저장소로도 사용할 수 있습니다. MySQL을 사용하도록 Message Queue를 구성하는 방법에 대한 자세한 내용은 Sun GlassFish Message Queue 4.4 Administration GuideConfiguring a JDBC-Based Data StoreSun GlassFish Message Queue 4.4 Administration GuideEnhanced Broker Cluster Properties를 참조하십시오.

추가 향상된 기능

위에서 설명한 기능 이외에 Message Queue 4.2에는 다음과 같은 향상된 기능이 포함되었습니다.

Message Queue 4.1의 새로운 기능

Message Queue 4.1은 몇 가지 새로운 기능과 향상된 기능 및 버그 수정이 포함된 부 릴리스였습니다. 이 절에서는 4.1 릴리스의 새로운 기능과 추가 참조 정보에 대해 설명합니다.

Message Queue 4.0에 소개된 기능에 대한 자세한 내용은 Message Queue 4.0의 새로운 기능을 참조하십시오.

고가용성 브로커 클러스터

Message Queue 4.1에는 새로운 향상된 브로커 클러스터가 도입되었습니다. 기존 브로커 클러스터는 메시징 서비스 가용성만을 제공(한 브로커가 실패하면 다른 브로커를 사용하여 메시징 서비스 제공)하는 반면, 향상된 브로커 클러스터는 데이터 가용성도 제공(한 브로커가 실패하면 지속성 메시지 및 상태 데이터를 다른 브로커에서 사용하여 메시지 전달 인계)합니다.

Message Queue 4.1에서 도입된 고가용성 구현에서는 공유 JDBC 기반 데이터 저장소를 사용합니다. 자체 영구 데이터 저장소가 있는 브로커 클러스터의 각 브로커 대신에 클러스터의 모든 브로커가 동일한 JDBC 호환 데이터베이스를 공유합니다. 특정 브로커가 실패하면 실패한 브로커의 메시지 전달이 클러스터에 있는 다른 브로커로 인계됩니다. 그 과정에서 페일오버 브로커는 공유 데이터 저장소에 있는 데이터와 상태 정보를 사용합니다. 실패한 브로커의 메시징 클라이언트는 페일오버 브로커에 다시 연결하여 중단 없이 메시징 서비스를 제공합니다.

Message Queue 4.1 고가용성 구현에 사용되는 공유 JDBC 기반 저장소 자체도 고가용성이어야 합니다. 고가용성 데이터베이스가 없거나 중단 없는 메시지 전달이 그다지 중요하지 않은 경우에는 데이터 가용성 없이 서비스 가용성만을 제공하는 기존 클러스터를 계속 사용할 수 있습니다.

Message Queue 4.1의 향상된 브로커 클러스터를 구성하려면 클러스터에 있는 각 브로커에 다음 브로커 등록 정보를 지정합니다.

향상된 브로커 클러스터 구현을 사용하려면 다음을 수행해야 합니다.

  1. 고가용성 데이터베이스를 설치합니다.

  2. JDBC 드라이버 .jar 파일을 설치합니다.

  3. 고가용성 영구 데이터 저장소에 데이터베이스 스키마를 만듭니다.

  4. 클러스터에 있는 각 브로커에 고가용성 등록 정보를 설정합니다.

  5. 클러스터의 각 브로커를 시작합니다.

향상된 브로커 클러스터에 대한 개념 설명과 기존 클러스터와의 비교에 대해서는 Sun GlassFish Message Queue 4.4 Technical Overview의 4 장, Broker Clusters를 참조하십시오. 향상된 브로커 클러스터에 대한 절차 및 참조 정보에 대해서는 Sun GlassFish Message Queue 4.4 Administration Guide의 10 장, Configuring and Managing Broker ClustersSun GlassFish Message Queue 4.4 Administration GuideCluster Configuration Properties를 참조하십시오.

Message Queue 4.0으로 고가용성 데이터베이스를 사용하고 있다가 향상된 브로커 클러스터로 전환하려는 경우에는 데이터베이스 관리자 유틸리티(imqdbmgr)를 사용하여 공유 영구 데이터 저장소로 변환할 수 있습니다. 알려진 문제점과 제한 사항에 대해서는 브로커 클러스터를 참조하십시오.

JAAS 지원

Message Queue 4.1은 내장되어 있는 파일 기반 및 LDAP 기반 인증 메커니즘 외에도 브로커에 외부 인증 메커니즘을 접속하여 Message Queue 클라이언트를 인증할 수 있도록 해주는 JAAS(Java Authentication and Authorization Service)를 지원합니다.

브로커를 통해 JAAS 호환 인증 서비스에서 사용할 수 있는 정보에 대한 설명과 이런 서비스를 사용하도록 브로커를 구성하는 방법에 대한 자세한 내용은 Sun GlassFish Message Queue 4.4 Administration GuideUsing JAAS-Based Authentication을 참조하십시오.

영구 데이터 저장소 형식 변경 사항

Message Queue 4.1에서 JDBC 기반 데이터 저장소가 향상된 브로커 클러스터를 지원하도록 변경되었습니다. 이런 이유로 JDBC 기반 데이터 저장소의 형식이 버전 410으로 업그레이드됩니다. 형식 버전 350, 370 및 400은 자동으로 410 버전으로 마이그레이션됩니다.

파일 기반 영구 데이터 저장소 형식은 변경된 사항이 없으므로 버전 370으로 유지됩니다.

브로커 환경 구성

등록 정보 IMQ_DEFAULT_EXT_JARS가 Message Queue 4.1 환경 구성 파일 imqenv.conf에 추가되었습니다. 이 등록 정보를 설정하여 브로커가 시작될 때 CLASSPATH에 포함될 수 있도록 외부 .jar 파일의 경로 이름을 지정할 수 있습니다. 이 등록 정보를 사용하여 외부 .jar 파일의 위치를 지정하면 더 이상 이 파일을 lib/ext 디렉토리에 복사할 필요가 없습니다. 외부 .jar 파일은 JDBC 드라이버 또는 JAAS 로그인 모듈과 관련된 것일 수 있습니다. 다음 샘플 등록 정보에서는 JDBC 드라이버의 위치를 지정합니다.

IMQ_DEFAULT_EXT_JARS=/opt/SUNWhadb4/lib/hadbjdbc4.jar:/opt/SUNWjavadb/derby.jar

Java ES Monitoring Framework 지원

Message Queue 4.1에서는 공용 그래픽 인터페이스를 사용하여 Java ES 구성 요소를 모니터링할 수 있는 Sun Java ES(Java Enterprise System) Monitoring Framework에 대한 지원이 출시되었습니다. 이 인터페이스는 Sun Java System Monitoring Console이라고 하는 웹 기반의 콘솔로 구현됩니다. 관리자는 콘솔을 사용하여 성능 통계를 보고, 자동으로 모니터링할 수 있는 규칙을 만들고, 경보를 확인할 수 있습니다. Message Queue를 다른 Java ES 구성 요소와 함께 실행 중인 경우에는 단일 인터페이스를 사용하여 이러한 모든 구성 요소를 관리하는 것이 편리할 수 있습니다.

Java ES Monitoring Framework를 사용하여 Message Queue를 모니터링하는 방법에 대한 자세한 내용은 XREF를 참조하십시오.

향상된 트랜잭션 관리

이전에는 PREPARED 상태의 트랜잭션만 관리 목적으로 롤백할 수 있었습니다. 즉, 분산 트랜잭션의 일부인 세션이 정상적으로 종료되지 않은 경우 트랜잭션이 관리자에 의해 정리되지 않은 상태로 유지되었습니다. Message Queue 4.1에서는 명령 유틸리티(imqcmd)를 사용하여 STARTED, FAILED, INCOMPLETE, COMPLETEPREPARED 상태에 있는 트랜잭션을 정리(롤백)할 수 있습니다.

특정 트랜잭션을 롤백할 수 있는지 여부를 결정하는 데 도움이 되도록(특히 PREPARED 상태에 있지 않을 경우) 명령 유틸리티에서는 imqcmd query txn 출력의 일부로 추가 데이터를 제공합니다. 이 데이터는 트랜잭션을 시작한 연결에 대한 연결 ID를 제공하고 트랜잭션이 생성된 시간을 지정합니다. 관리자는 이 정보를 사용하여 트랜잭션을 롤백해야 하는지 여부를 결정할 수 있습니다. 일반적으로 관리자는 트랜잭션을 조기에 롤백해서는 안 됩니다.

C 클라이언트 연결을 위한 고정 포트

Message Queue 4.1, C 클라이언트는 Java 클라이언트와 마찬가지로 이제 브로커의 포트 매퍼 서비스에서 동적으로 할당된 포트 대신 고정된 브로커 포트에 연결할 수 있습니다. 고정 포트 연결은 방화벽을 통과하려고 하거나 다른 이유로 포트 매퍼 서비스를 우회해야 하는 경우에 유용합니다.

고정 포트 연결을 구성하려면 브로커와 C 클라이언트 런타임 모두(연결의 양 끝 모두)를 구성해야 합니다. 예를 들어, ssljms를 통해 클라이언트를 포트 1756에 연결할 경우 다음을 수행합니다.


주 –

MQ_SERVICE_PORT_PROPERTY 연결 등록 정보가 Message Queue 3.7 Update 2로 백포트되었습니다.


Message Queue 4.0의 새로운 기능

Message Queue 4.0은 Application Server 9 PE 지원으로 제한된 부 릴리스였으며, 몇몇 새롭고 향상된 기능 및 버그 수정을 포함하고 있었습니다 이 절에서는 이 릴리스의 새로운 기능에 대해 설명합니다.


주의 – 주의 –

버전 4.0에 도입되었던, 사소하지만 잠재적으로 위험할 수 있는 변경 사항 중의 하나는 비밀번호를 지정하는 명령줄 옵션이 폐지되었다는 점입니다. 따라서 더 이상 사용되지 않는 비밀번호 옵션에 설명된 대로 모든 비밀번호를 파일에 저장하거나 프롬프트 창에 입력해야 합니다.


JMX 관리 API 지원

Message Queue 4.0에는 JMX(Java Management Extensions) 사양에 따라 Message Queue 브로커의 구성 및 모니터링을 위해 새로운 API가 추가되었습니다. 이 API를 사용하여 프로그래밍 방식으로 Java 응용 프로그램 내에서 브로커 기능을 구성 및 모니터링할 수 있습니다. 이전 버전의 Message Queue에서는 명령줄 관리 유틸리티 또는 관리 콘솔을 통해서만 이 기능에 액세스할 수 있었습니다.

자세한 내용은 Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients를 참조하십시오.

클라이언트 런타임 로깅

Message Queue 4.0에서는 연결 및 세션 관련 이벤트의 클라이언트 런타임 로깅 지원이 도입되었습니다.

클라이언트 런타임 로깅 및 구성 방법에 대한 자세한 내용은 Java Dev Guide의 137페이지를 참조하십시오.

연결 이벤트 알림 API

Message Queue 4.0에서는 클라이언트 런타임에서 응용 프로그램에 연결 상태 변경 사항에 대해 알릴 수 있는 이벤트 알림 API가 도입되었습니다. Message Queue 클라이언트는 연결 이벤트 알림을 통해 닫힘 및 다시 연결 이벤트를 수신하고 알림 유형 및 연결 상태를 기반으로 적절한 작업을 수행할 수 있습니다. 예를 들어, 페일오버가 발생하고 클라이언트가 다른 브로커에 다시 연결된 경우 응용 프로그램은 해당 트랜잭션 상태를 정리하고 새 트랜잭션으로 작업을 계속하려 할 수 있습니다.

연결 이벤트와 이벤트 수신기를 작성하는 방법에 대한 자세한 내용은 Java Dev Guide의 96페이지를 참조하십시오.

브로커 관리 기능 향상

Message Queue 4.0에서는 관리자가 브로커 정지, 지정된 간격 후에 브로커 종료, 연결 영구 삭제 또는 Java 시스템 등록 정보 설정(예: 연결 관련 등록 정보)을 수행할 수 있도록 명령 유틸리티(imqcmd)에 몇 가지 새로운 하위 명령과 명령 옵션이 추가되었습니다.

imqcmd 명령 구문에 대한 자세한 내용은 Sun GlassFish Message Queue 4.4 Administration Guide의 16 장, Command Line Reference를 참조하십시오.

JDBC 기반 데이터 저장소 정보 표시

Message Queue 4.0에는 데이터베이스 관리자 유틸리티 imqdbmgr에 새로운 query 하위 명령이 추가되었습니다. 이 하위 명령을 사용하여 데이터베이스 버전, 데이터베이스 사용자 및 데이터베이스 테이블이 만들어졌는지의 여부를 비롯한 JDBC 기반 데이터 저장소에 대한 정보를 표시합니다.

다음은 이 명령을 사용하여 표시한 정보의 예를 나타냅니다.


imqdbmgr query

[04/Oct/2005:15:30:20 PDT] Using plugged-in persistent store:
        version=400
        brokerid=Mozart1756
        database connection url=jdbc:oracle:thin:@Xhome:1521:mqdb
        database user=scott
Running in standalone mode.
Database tables have already been created.

JDBC 공급업체 지원

Message Queue 4.0에서는 이제 Apache Derby 버전 10.1.1이 JDBC 기반 데이터 저장소 공급업체로 지원됩니다.

영구 데이터 저장소 형식 변경 사항

Message Queue 4.0에서는 최적화 및 향후 향상된 기능 지원을 위해 JDBC 기반 데이터 저장소가 새로 변경되었습니다. 이런 이유로 JDBC 기반 데이터 저장소의 형식이 버전 400으로 업그레이드되었습니다. Message Queue 4.0에서는 변경된 내용이 없기 때문에 파일 기반 데이터 저장소 버전이 370으로 남아 있습니다.

추가 메시지 등록 정보

Message Queue 4.0에서는 사용 불능 메시지 대기열에 있는 모든 메시지에 설정되는 새로운 등록 정보 두 개가 추가되었습니다.

SSL 지원

Message Queue 4.0 시작 시 클라이언트 연결 팩토리 등록 정보 imqSSLIsHostTrusted의 기본값은 false입니다. 응용 프로그램이 이전의 기본값인 true를 따르는 경우에는 등록 정보를 다시 구성하여 명시적으로 true로 설정해야 합니다.

자체 서명된 인증서를 사용하도록 브로커를 구성한 경우 호스트를 신뢰하도록 선택할 수 있습니다. 이 경우 imqConnectionType 등록 정보를 사용하여 연결이 SSL 기반 연결 서비스를 사용하도록 지정해야 할 뿐 아니라 imqSSLIsHostTrusted 등록 정보를 true로 설정해야 합니다.

예를 들어, 브로커가 자체 서명된 인증서를 사용할 때 클라이언트 응용 프로그램을 안전하게 실행하려면 다음 명령을 사용합니다.

java -DimqConnectionType=TLS 
      -DimqSSLIsHostTrusted=true ClientAppName

브로커에서 자체 서명된 인증서를 사용할 경우 명령 유틸리티(imqcmd)를 안전하게 사용하려면 커넥터 서비스 나열 시 다음과 같은 명령을 사용합니다.

imqcmd list svc -secure -DimqSSLIsHostTrusted=true

향후 릴리스에서 더 이상 사용되지 않는 기능

다음 기능은 향후 릴리스에서 더 이상 사용되지 않습니다.

Message Queue 4.4 및 최신 릴리스에서 해결된 버그

Message Queue 4.4에는 새 버그 수정이 포함되어 있고 Message Queue 4.x의 이전 릴리스에서 수정된 버그가 통합되어 있습니다.

다음 절에서는 각 릴리스에서 해결된 버그를 소개합니다

Message Queue 4.4에서 해결된 버그

다음 표는 Message Queue 4.4에서 해결된 버그를 설명합니다.

표 1–7 Message Queue 4.4에서 해결된 버그

버그 

설명 

6242247 

두 브로커가 모두 동일한 이름이 사용된 시스템에 있는 경우 MQ 클러스터에 마스터 브로커 시작 및 정지 

6760937 

브로커가 다시 시작되는 경우 DB에 다시 연결되지 않음 

6765410 

마스터 브로커가 로컬 인터레스트를 2회 보내고 이로 인해 영구 가입이 이미 활성화된 슬레이브 예외가 발생함 

6796506 

원격 PREPARE 회신 수신 시 시간 초과된 경우 롤백 이후 원격 PREPARED 메시지가 다시 전달되지 않음 

6821639 

MQRA-DIRECT 모드에 대한 AS 복구 중 rollback/commitTransaction시 NPE 발생 

6836364 

와일드카드 가입자의 주제가 가입자보다 먼저 생성된 경우 해당 가입자가 원격 메시지를 수신하지 못함 

6836749 

HA(JCAPS): durables 중 하나가 메시지를 롤백한 다음 완결한 후 다시 수신 시 저장소에 ack가 있는 예외 발생 

6858905 

Consumer.destroyConsumer의 ConcurrentModificationException 

Message Queue 4.3에서 해결된 버그

다음 표는 Message Queue 4.3에서 해결된 버그를 설명합니다.

표 1–8 Message Queue 4에서 해결된 버그. 3

버그 

설명 

6634033 

클러스터 프로토콜이 imqConsumerFlowLimit 값을 클라이언트가 생성된 원격 브로커로 전파하지 않음

6713012 

클러스터의 브로커에서 사용자가 완전 삭제되는 동시에 원격 브로커가 다시 시작되면 일부 메시지가 전달되지 않을 수 있음 

6727555 

브로커 로그 메시지 "Max bytes per msg exceeded"에 실제 메시지 크기 및 전환된 max bytes per message 값이 있음

6737404 

JMX 메트릭은 대상(주제 및 대기열)에서 디스패치되었지만 사용자에게 아직 전달되지 않은 메시지 수를 제공해야 함 

6740568 

단일 트랜잭션에서 너무 많은 메시지를 사용할 경우 브로커가 예외를 표시함 

6758524 

영구 가입을 나열하는 명령(imqcmd list dur -d "foo.*")이 대상 이름에 와일드카드 문자를 허용하지 않음

6758952 

imq.portmapper.hostname=localhost를 설정하면 브로커를 클러스터에 연결할 수 없음

6758817 

imq.cluster.hostname=localhost를 설정하면(권장되지 않음) 다른 시스템의 브로커를 클러스터에 연결할 수 없음

Message Queue 4.2에서 해결된 버그

다음 표는 Message Queue 4.2에서 해결된 버그를 설명합니다.

표 1–9 Message Queue 4.2에서 해결된 버그

버그 

설명 

6581592 

설치 프로그램 또는 제거 프로그램이 텍스트 모드(installer –t)로 실행되는 경우 요약 화면에 로그/요약 파일이 포함된 디렉토리가 표시되지만 이 파일의 이름은 나열되지 않음

6585911 

설치 프로그램의 JDK 선택 화면에 설치 프로그램에 번들로 제공되며 설치 프로그램 실행에 사용되는 JRE가 잘못 포함되어 있음 

6587112 

다중 바이트 로켈에서 설치 프로그램 요약 화면에 알 수 없는 문자가 표시됨 

6587127 

응답 파일을 참조하여 설치 프로그램을 실행하는 경우(installer -a filename -s) 응답 파일이 없으면 일관성 없고 모호한 오류 메시지가 표시됨

6590969 

클라이언트 연결 인증에 DN 사용자 이름 형식이 허용됨 

6594381 

시스템에 이전 버전의 Message Queue 현지화 RPM이 있을 경우 Message Queue 4.1 현지화 RPM 설치(다국어 패키지 화면에서 "Message Queue 다국어 패키지 설치"를 선택하여 실행)에 실패함 

6599144 

Message Queue 4.2를 제거할 때 Java SE 6에서는 스플래시 화면과 제거 프로그램이 중지되고 회색의 빈 화면이 표시되지만 Java SE 5에서는 제대로 작동함  

6615741 

원래 사용자가 롤백 전에 닫힌 경우 롤백된 트랜잭션 사용자 세션에 전달된 메시지가 재전송되지 않음 

6629922 

분산 트랜잭션 처리기에서 비활성 사용자에게 메시지를 올바른 순서로 재전송하지 않음 

6635130 

대상이 메모리 또는 메시지 제한에 도달했기 때문에 브로커에서 일시 중지되었던 비지속성 메시지의 생성을 다시 시작하는 것을 생성자에 알리지 못함 

6641117 

원래 사용자가 롤백 후에 닫힌 경우 롤백된 트랜잭션 사용자 세션에 전달된 메시지가 재전송되지 않음 

6683897 

구성이 성공적으로 완료된 것 같은 경우에도 Message Queue 설치 프로그램의 요약 화면에 설치 프로그램이 일부 컴퓨터의 /dev/sterr에 쓸 수 없다는 구성 오류가 보고됩니다.

6684069 

사용자 트랜잭션을 통해 대량의 메시지가 원격 클라이언트로 전달되는 브로커 클러스터에서 트랜잭션 완결이 실패함 

6688935 

포트 매퍼 읽기 시간 초과의 기본값이 너무 작음 

6695238 

경로에 공백이 있는 위치에 설치된 브로커에 C 클라이언트 응용 프로그램으로 연결할 수 없음 

6710168 

중간에 다시 시작하지 않고 대상을 두 번 일시 중지한 경우 사용자가 더 이상 메시지를 사용하지 않음 

6710169 

JMX 작업 ConsumerManagerMonitor.getConsumerInfo에서 확인 모드에 대해 항상 SESSION_TRANSACTED를 반환함

Message Queue 4.1에서 해결된 버그

다음 표는 Message Queue 4.1에서 해결된 버그를 설명합니다.

표 1–10 Message Queue 4.1에서 해결된 버그

버그 

설명 

6381703 

메시지를 만든 브로커가 다시 시작되면 트랜잭션된 원격 메시지가 두 번 완결될 수 있음 

6388049 

완료되지 않은 분산 트랜잭션을 정리할 수 없음 

6401169 

imqcmd에 대한 완결 및 롤백 옵션이 확인을 요청하는 메시지를 표시하지 않음 

6473052 

자동 생성된 대기열의 기본값은 라운드 로빈되어야 함 (MaxNumberConsumers = -1)

6474990 

imqcmd list dst 명령에 대해 브로커 로그가 ConcurrentModificationException을 표시함

6487413 

제한 동작이 REMOVE_OLDEST 또는 REMOVE_LOWER_PRIORITY일 경우 메모리 누출이 발생함

6488340 

브로커가 회전하고 클라이언트가 응답 확인을 기다림 

6502744 

브로커가 사용 불능 메시지 대기열의 기본 제한인 1000개 메시지를 따르지 않음 

6517341 

imqReconnectEnabled 등록 정보 값에 관계 없이 클라이언트가 다시 연결될 수 있도록 하여 클라이언트를 향상된 브로커 클러스터에 연결할 경우 클라이언트 런타임의 다시 연결 논리가 향상되어야 함

6528736 

시작 도중 Windows 자동 시작 서비스(imqbrokersvc)에 충돌이 발생함

6561494 

메시지와 사용자가 한 세션을 공유한 경우 메시지가 잘못된 사용자에게 전송됨 

6567439 

PREPARED 트랜잭션에서 생성된 메시지가 브로커 다시 시작 후에 완결되면 메시지가 잘못된 순서로 전송됨

Message Queue 4.0에서 해결된 버그

다음 표는 Message Queue 4.0에서 해결된 버그를 설명합니다.

표 1–11 Message Queue 4.0에서 해결된 버그

버그 번호 

설명 

4986481 

Message Queue 3.5의 경우 자동 다시 연결 모드에서 Session.recover 호출이 정지될 수 있었음

4987325 

Session.recover 호출 후 재전송된 플래그가 재전송된 메시지에 대해 false로 설정되었음

6157073 

연결 총 수뿐 아니라 서비스의 연결 수를 포함시키기 위해 새 연결 메시지를 변경함 

6193884 

메시지에 ASCII가 아닌 문자를 사용하는 로켈의 경우 Message Queue는 알아 볼 수 없는 메시지를 syslog로 출력함 

6196233 

JMSMessageID를 사용하여 메시지를 선택할 수 없음

6251450 

클러스터 종료 도중 connectListConcurrentModificationException

6252763 

java.nio.HeapByteBuffer.putLong/Intjava.nio.BufferOverflowException

6260076 

Oracle 저장소에서 시작 후 첫 번째로 게시되는 메시지가 느림  

6260814 

JMSXUserID에서의 선택기 처리가 항상 false로 처리됨

6264003 

대기열 브라우저가 완결되지 않은 트랜잭션의 일부인 메시지를 표시함 

6271876 

사용되지 않은 메시지를 가진 사용자를 종료할 때 연결 흐름 제어가 제대로 작동하지 않음 

6279833 

Message Queue에서 두 개의 브로커가 동일한 jdbc 테이블을 사용해서는 안 됨 

6293053 

시스템의 IP 주소가 변경된 경우 저장소를 지우기 전에는(—reset store 사용) 마스터 브로커가 올바르게 시작되지 않음

6294767 

Message Queue 브로커가 여는 네트워크 소켓에 SO_REUSEADDR을 설정해야 함

6304949 

ClientID 등록 정보를 TopicConnectionFactory 에 설정할 수 없음

6307056 

txn 로그에 성능 병목 현상 발생

6320138 

Message Queue C API에 회신 헤더로부터 대기열의 이름을 확인하는 기능이 없음  

6320325 

JDK 1.4와 JDK 1.5가 모두 설치된 경우 브로커가 JDK 1.5보다 JDK 1.4를 먼저 선택하는 경우가 있음  

6321117 

멀티 브로커 클러스터 초기화 시 java.lang.NullPointerException 발생

6330053 

가입자의 트랜잭션을 완결할 때 jms 클라이언트에서 java.lang.NoClassDefFoundError가 발생함

6340250 

C-API에서 MESSAGE 유형 지원

6351293 

Apache Derby 데이터베이스 지원 추가  

Message Queue 4.4 설명서 업데이트

이 절에서는 Message Queue 4.4 설명서 업데이트에 대해 설명합니다.

호환성 문제

이 절에서는 Message Queue 4.4에 대한 호환성 문제에 대해 설명합니다.

인터페이스 안정성

Sun GlassFish Message Queue는 시간이 흐름에 따라 변경될 수 있는 많은 인터페이스를 사용합니다. Sun GlassFish Message Queue 4.4 Administration Guide의 부록 B, Stability of Message Queue Interfaces에서는 인터페이스를 안정성에 따라 분류합니다. 인터페이스가 안정적일수록 제품의 향후 버전에서 변경될 가능성이 적어집니다.

Message Queue의 다음 주요 릴리스와 관련된 문제

Message Queue의 다음 주요 릴리스에 도입되는 변경 사항으로 인해 현재 Message Queue 클라이언트 응용 프로그램이 새 릴리스와 호환되지 않을 수 있습니다. 이 정보는 완전 공개라는 취지 하에 제공됩니다.

Message Queue 4.4 설명서 세트 변경 사항

Message Queue 4.4 설명서 세트에는 아래에 설명된 것과 같은 Message Queue 4.3 설명서 세트 업데이트가 포함되어 있습니다.

기술 개요

Sun GlassFish Message Queue 4.4 Technical Overview에는 Message Queue 4.4의 새로운 기능이 반영되었습니다.

설치 및 업그레이드 정보

Sun GlassFish Message Queue 4.4 Installation Guide에는 AIX 플랫폼에 대한 Message Queue 설치가 포함되어 있습니다.

관리 설명서

Sun GlassFish Message Queue 4.4 Administration Guide에는 몇 가지 버그 수정 사항, AIX 플랫폼에 대한 지원 및 브로커 클러스터를 관리하고 기존 클러스터를 향상된 클러스터로 변환하기 위한 수정된 절차가 포함되어 있습니다.

Java 클라이언트용 개발 안내서

Sun GlassFish Message Queue 4.4 Developer’s Guide for Java Clients에는 새 버전 번호가 반영되어 있지만 그 외에는 수정되지 않았습니다.

C 클라이언트용 개발 안내서

Sun GlassFish Message Queue 4.4 Developer’s Guide for C Clients에는 AIX 플랫폼에서 C 클라이언트 응용 프로그램을 빌드하는 정보가 포함되어 있습니다.

JMX 클라이언트용 개발 안내서

Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients에는 JMX API의 향상된 기능이 포함되어 있습니다.

알려진 문제점 및 제한 사항

이 절에는 Message Queue 4.4의 알려진 문제점이 나열되어 있습니다. 적용되는 제품 영역은 다음과 같습니다.

현재 버그와 상태, 해결 방법에 대한 목록을 보려면 Java Developer Connection™ 회원은 Java Developer Connection 웹 사이트의 Bug Parade 페이지를 확인해야 합니다. 새로운 버그를 보고하기 전에 이 페이지를 확인하십시오. 여기에 모든 Message Queue 버그가 나열되어 있지는 않지만 문제가 보고된 적이 있는지 여부를 확인할 수 있습니다.

http://bugs.sun.com/bugdatabase/index.jsp


주 –

Java Developer Connection 구성원의 경우 무료이지만 등록해야 합니다. Java Developer Connection 구성원이 되는 방법에 대한 자세한 내용은 Sun의 "For Developers" 웹 페이지를 참조하십시오.


새 버그를 보고하거나 기능 요청서를 제출하려면 imq-feedback@sun.com으로 메일을 보내십시오.

설치 문제

이 절에서는 Message Queue 버전 4.4 설치와 관련된 문제에 대해 설명합니다.

제품 등록 및 Java ES

Message Queue 4.4는 Message Queue 4.2 및 4.1과 마찬가지로 Message Queue에 필요한 JDK, NSS, JavaHelp 등의 Java ES(Java Enterprise System) 공유 구성 요소까지도 설치 및 업그레이드하는 비교적 새로운 설치 프로그램으로 설치됩니다.

새로운 Message Queue 설치 프로그램과 이전 버전의 Message Queue를 설치하는 데 사용된 기존 Java ES 설치 프로그램은 같은 제품 레지스트리를 공유하지 않습니다. Java ES 설치 프로그램으로 설치한 버전의 Message Queue를 제거한 다음 Message Queue 설치 프로그램을 사용하여 Message Queue 4.4를 설치할 경우 Java ES 제품 레지스트리가 불일치 상태가 될 수 있습니다. 따라서, Java ES 제거 프로그램이 실행되면 Message Queue 4.4와 여기에서 사용되는 공유 구성 요소(Java ES로 설치하지 않은 구성 요소)가 실수로 제거될 수 있습니다.

Java ES 설치 프로그램으로 설치한 Message Queue 소프트웨어를 업그레이드하는 가장 좋은 방법은 다음과 같습니다.

  1. Java ES 제거 프로그램을 사용하여 Message Queue와 해당 공유 구성 요소를 제거합니다.

  2. Message Queue 설치 프로그램을 사용하여 Message Queue 4.4를 설치합니다.

모든 플랫폼 설치

여기서 설명하는 문제는 모든 플랫폼 설치에 적용됩니다.

Windows 설치

Message Queue를 Windows에 설치할 경우에는 다음 제한 사항에 유의하십시오.

Solaris 설치

Linux 설치

Linux 플랫폼에서는 다음 문제가 설치 작업에 영향을 줍니다.

설치 프로그램의 버전 이상

설치 프로그램에서 Message Queue 버전 정보를 불분명한 형식으로 표시합니다. (버그 6586507)

Solaris 플랫폼

Solaris 플랫폼의 경우 다음 표를 참조하여 설치 프로그램에 표시되는 Message Queue 버전을 확인합니다.

표 1–12 버전 문자열 변환

Solaris OS에서 설치 프로그램에 표시되는 버전 

해당되는 Message Queue 릴리스 

4.3.0.0 

4.3 

4.2.0.0 

4.2 

4.1.0.2 

4.1 패치 2 

4.1.0.1 

4.1 패치 1 

4.1.0.0 

4.1 

3.7.2.1 

3.7 UR2 패치 1 

3.7.0.2 

3.7 UR2 

3.7.0.1 

3.7 UR1 

3.6.0.0 

3.6 

3.6.0.4 

3.6 SP4 

3.6.0.3 

3.6 SP3 

3.6.0.2 

3.6 SP2 

3.6.0.1 

3.6 SP1 


주 –

3.6 SP4에 대한 패치 릴리스(예: 3.6 SP4 패치 1)의 경우 설치 프로그램에 표시되는 릴리스 문자열이 동일합니다. imqbrokerd -version 명령을 실행하여 정확한 버전을 확인해야 합니다.


Linux 플랫폼

Linux 플랫폼의 경우 설치 프로그램에서 표시되는 버전 번호의 형식은 다음과 같습니다.

majorReleaseNumber.minorReleaseNumber-someNumber

예: 3.7–22. 이는 3.7 릴리스 중 하나를 나타낼 뿐이며 특정 릴리스를 가리키지는 않습니다. 설치된 Message Queue 버전을 확인하려면 다음 명령을 실행합니다.

imqbrokerd -version.

현지화 문제

다음 문제는 현지화 문제와 관련된 내용입니다.

더 이상 사용되지 않는 비밀번호 옵션

이전 버전의 Message Queue에서는 —p 또는 —password 옵션을 사용하여 imqcmd, imqbrokerdimdbmgr 명령에 대한 비밀번호를 대화식으로 지정할 수 있었습니다. 버전 4.0부터는 이러한 옵션이 더 이상 사용되지 않았습니다.

대신 관련 비밀번호를 지정하는 비밀번호 파일을 생성하고 -passfile 명령 옵션을 사용하여 비밀번호 파일을 참조하거나 명령에서 프롬프트가 표시되었을 때 간단히 비밀번호를 입력할 수 있습니다.

비밀번호 파일에는 아래 나열된 비밀번호가 하나 이상 포함될 수 있습니다.

다음 예에서는 JDBC 데이터베이스에 대한 비밀번호가 비밀번호 파일에서 abracadabra로 설정되어 있습니다.

imq.persist.jdbc.mysql.password=abracadabra

다음 중 한 가지 방법으로 비밀번호 파일을 사용할 수 있습니다.

관리/구성 문제

다음 문제는 Message Queue 관리 및 구성에 관련된 내용입니다.

브로커 문제

다음 문제는 Message Queue 브로커에 영향을 줍니다.

브로커 클러스터

다음 문제는 브로커 클러스터에 영향을 줍니다.

JMX 문제

Windows 플랫폼에서 트랜잭션 관리자 모니터 MBean의 getTransactionInfo 메소드가 잘못된 트랜잭션 작성 시간이 포함된 트랜잭션 정보를 반환합니다. (버그 6393359)

해결 방법: 트랜잭션 관리자 모니터 MBean의 getTransactionInfoByID 메소드를 대신 사용합니다.

SOAP 지원

SOAP 지원과 관련된 다음의 두 가지 문제에 대해 잘 알고 있어야 합니다.

재배포 가능 파일

Sun GlassFish Message Queue 4.4에는 이진 형식으로 사용하고 자유롭게 배포할 수 있는 다음과 같은 파일 집합이 포함되어 있습니다.

fscontext.jar

jaas.jar

imq.jar

jms.jar

imqjmx.jar

libmqcrt.so(HPUX)

imqxm.jar

libmqcrt.so(UNIX)

imqums.war

mqcrt1.dll(Windows)

LICENSECOPYRIGHT 파일도 재배포할 수 있습니다.

내게 필요한 옵션 기능

이 매체를 발행한 이후 릴리스된 내게 필요한 옵션 기능을 사용하려면 Sun에 요청하여 구할 수 있는 섹션 508 제품 평가를 참조하여 관련 솔루션을 배포하는 데 가장 적합한 버전을 확인하십시오. 응용 프로그램의 업데이트된 버전은 http://sun.com/software/javaenterprisesystem/get.html에서 찾을 수 있습니다.

내게 필요한 옵션 기능 구현을 위한 Sun의 방침에 대해 자세히 알아보려면 http://sun.com/access를 방문하십시오.

문제점 보고 및 사용자 의견 제공 방법

Sun GlassFish Message Queue에 문제가 있으면 다음 방식 중 하나를 사용하여 Sun 고객 지원부에 문의하십시오.

당사의 지원팀이 문제를 해결하는 데 도움이 될 수 있도록 지원 담당자에게 문의하기 전에 다음 정보를 준비해 두십시오.

Sun GlassFish 소프트웨어 포럼

다음 웹 사이트에서는 Sun GlassFish Message Queue 포럼을 제공합니다.

http://swforum.sun.com/jive/forum.jspa?forumID=24

여러분의 참여를 환영합니다.

Java 기술 포럼

Java 기술 포럼에는 관련 JMS 포럼이 있습니다.

http://forum.java.sun.com

사용자 의견 환영

Sun은 설명서의 내용을 지속적으로 개선하고자 하며 사용자 여러분의 의견과 제안을 환영합니다.

사용자 의견을 보내시려면 http://docs.sun.com을 방문하여 의견 보내기를 누릅니다. 온라인 양식에서 문서 제목과 부품 번호를 기입해 주십시오. 부품 번호는 해당 설명서의 제목 페이지나 문서 맨 위에 있으며 일반적으로 7자리 또는 9자리 숫자입니다. 예를 들어, 이 설명서의 제목은 릴리스 노트이며 부품 번호는 821-0025입니다.

Sun의 추가 자원

다음 인터넷 사이트에서 유용한 Sun GlassFish 관련 정보를 찾을 수 있습니다.