이 절에는 Message Queue 3.7 UR1의 알려진 문제점이 나열되어 있습니다. 적용되는 제품 영역은 다음과 같습니다.
Java Developer ConnectionSM 구성원인 경우 현재 버그, 버그 상태 및 해결 방법 목록을 보려면 Java Developer Connection 웹 사이트(http://bugs.sun.com/bugdatabase/index.jsp)의 Bug Parade 페이지를 참조하십시오. 새로운 버그를 보고하기 전에 이 페이지를 확인하십시오. 여기에 모든 Message Queue 버그가 나열되어 있지는 않지만 문제가 보고된 적이 있는지 여부를 확인할 수 있습니다.
Java Developer Connection 구성원의 경우 무료이지만 등록해야 합니다. Java Developer Connection 구성원이 되는 방법에 대한 자세한 내용은 Sun의 "For Developers" 웹 페이지를 참조하십시오.
새 버그를 보고하거나 기능 요청서를 제출하려면 imq-feedback@sun.com으로 전자 메일을 보내십시오.
SSL을 사용하는 연결 서비스는 자체 서명된 서버 인증서 즉, 신뢰할 수 있는 호스트 모드만 지원하도록 제한됩니다.
HTTP 전송을 사용하는 JMS 클라이언트가 갑자기 종료되면(예: Ctrl-C 사용) 브로커는 약 1분이 경과한 후 클라이언트 연결 및 연결된 모든 자원을 릴리스합니다.
클라이언트의 다른 인스턴스가 1분 이내에 시작되어 동일한 클라이언트 아이디, 영구 가입 또는 대기열을 사용하려고 하면 "클라이언트 아이디가 이미 사용 중"이라는 예외가 발생할 수 있습니다. 이 예외는 위에서 설명한 종료 프로세스의 부작용일 뿐입니다. 약 1분 간의 지연 후에 클라이언트가 시작되면 모든 문제가 해결됩니다.
Message Queue 3.7 UR1에서 LDAP 서버를 사용자 저장소로 사용하는 브로커 구성 예는 config.properties의 주석 영역에 있으며 LDAP 사용자 저장소 예는 default.properties 파일의 주석 영역에 있습니다.
default.properties 파일에 지정된 LDAP 사용자 저장소 등록 정보 예의 등록 정보 값을 이전에 사용한 경우 Message Queue 3.7 UR1로 업그레이드하면 JMS 응용 프로그램 클라이언트가 JMS 연결 생성을 시도하는 동안 보안 예외가 발생합니다.
JMS 클라이언트가 Message Queue 3.7 UR1 브로커에 연결하려고 시도하면 브로커 로그에 오류가 기록되며 JMS 클라이언트가 다음 예외를 수신합니다.
SecurityException. 20/Aug/2004:11:16:41 PDT] ERROR [B4064]: Ldap repository ldap property .uidattr not defined for authentication type basic:com.sun.messaging.jmq.auth.LoginException: [B4064]: Ldap repository ldap property .uidattr not defined for authentication type basic
해결 방법: Sun Java System Message Queue 3.7 UR1 Administration Guide의 7 장, Managing Security의 지침에 따라 브로커 등록 정보 imq.user_repository.ldap.uidattr을 설정합니다.
다음 항목은 브로커 클러스터와 관련됩니다.
이 릴리스에서는 완전히 연결된 브로커 클러스터만 지원됩니다. 즉, 클러스터에 있는 모든 브로커가 해당 클러스터 내의 다른 모든 브로커와 직접 통신해야 합니다. imqbrokerd -cluster 명령줄 인수를 사용하여 브로커를 연결하는 경우 해당 클러스터의 모든 브로커가 포함되어 있는지 확인해야 합니다.
클러스터의 일부인 브로커에 연결된 클라이언트는 현재 해당 클러스터에서 원격 브로커에 있는 대기열을 찾아보기 위해 QueueBrowser를 사용할 수 없습니다. 클라이언트는 직접 연결된 브로커에 있는 대기열의 내용만 찾아볼 수 있습니다. 하지만 클라이언트는 계속해서 대기열에 메시지를 전송하거나 클러스터의 브로커에 있는 대기열에서 메시지를 사용할 수 있습니다. 이러한 제한은 찾아보기에만 영향을 줍니다.
브로커 클러스터에서 마스터 브로커를 사용하지 않는 경우 브로커가 저장하여 클러스터에 추가한 지속성 정보가 클러스터 내의 다른 브로커에 전파되지 않습니다.
브로커 클러스터에서 브로커는 시작되지 않은 원격 연결에 메시지 대기열을 만듦(버그 아이디 4951010)
해결 방법: 일단 연결이 시작되면 소비자가 메시지를 수신합니다. 소비자의 연결이 종료된 경우 메시지는 다른 소비자에게 전달됩니다.
다음 문제는 Message Queue의 관리 및 구성에 관련됩니다.
Windows 시스템의 CLASSPATH에 큰따옴표가 포함되어 있으면 imqadmin 및 imqobjmgr 유틸리티에서 오류가 발생함(버그 아이디 5060769)
해결 방법: 이 오류 메시지는 무시해도 됩니다. 브로커가 소비자에게 모든 오류를 알리는 작업을 올바로 수행한 것입니다. 이 오류는 시스템의 안정성에 영향을 주지 않습니다.
Solaris 및 Windows 스크립트의 -javahome 옵션에 제공된 값에 공백이 있는 경우 해당 옵션이 작동되지 않음(버그 아이디 4683029)
javahome 옵션은 Message Queue 명령 및 유틸리티에서 사용할 대체 Java 2 호환 런타임을 지정하는 데 사용됩니다. 그러나 대체 Java 런타임의 경로 이름에는 공백이 포함되지 않아야 합니다. 예를 들면 다음과 같습니다.
Windows: C:/jdk 1.4
Solaris: /work/java 1.4
해결 방법: 공백이 없는 위치 또는 경로에 Java 런타임을 설치합니다.
imqQueueBrowserMaxMessagesPerRetrieve 속성은 클라이언트 런타임에서 대기열 대상의 내용을 찾아볼 때 한 번에 검색하는 메시지의 최대 수를 지정합니다. 클라이언트 응용 프로그램에는 항상 대기열의 모든 메시지가 표시됩니다. 따라서, imqQueueBrowserMaxMessagesPerRetrieve 속성은 대기열에 들어 있는 메시지를 클라이언트 런타임에 전달할 수 있도록 여러 작은 조각 또는 청크로 나누는 방법에 영향을 줍니다. 이 속성은 찾아진 메시지 전체에 영향을 주지는 않습니다. 이 속성 값을 변경하면 성능에 영향을 미칠 수 있지만 클라이언트 응용 프로그램에서 얻는 데이터의 양은 달라지지 않습니다(버그 아이디 6387631).
다음 문제는 Message Queue 브로커에 영향을 미칩니다.
HTTPS createQueueConnection이 Windows 2000에서 예외를 발생시키는 경우가 있음(버그 아이디 4953348)
해결 방법: 연결을 재시도합니다.
Ctrl-C를 사용하여 브로커를 종료하면 저장소를 닫은 후 트랜잭션이 정리될 수 있음(버그 아이디 4934446)
메시지 또는 트랜잭션이 처리되는 동안 브로커가 종료되면 브로커에서 “저장소가 닫힌 후에 저장소 메소드가 액세스되었습니다.”라는 오류 메시지가 표시될 수 있습니다.
해결 방법: 이 오류 메시지는 무시해도 됩니다. 브로커가 소비자에게 모든 오류를 알리는 작업을 올바로 수행한 것입니다. 이 오류는 시스템의 안정성에 영향을 주지 않습니다.
대상이 삭제되면 소비자와의 연결이 끊어짐(버그 아이디 5060787)
대상이 삭제되면 활성 소비자와의 연결이 끊어집니다. 소비자와의 연결이 끊어진 후에는 대상이 다시 생성된 후에도 더 이상 메시지를 받을 수 없습니다.
해결 방법: 없음
JMSMessageID를 사용하는 메시지 선택이 작동하지 않음(버그 아이디 6196233)
다음 표현식에서 선택기를 변경합니다.
JMSMessageID = "ID:message-id-string"
다음 표현식으로 변경:
JMSMessageID IN (’ID:message-id-string’, ’message-id-string’)
Message Queue 3.7 UR1에는 독립 실행형 제품이 포함되어 있지 않습니다. 이 릴리스의 Message Queue는 Java Enterprise System 설치 프로그램을 사용하여 설치해야 합니다. 자세한 지침은 Sun Java System 설치 설명서를 참조하십시오.
Message Queue 메뉴->색인에 제품 설명서 URL 및 Read Me First 파일의 위치가 잘못 표시되어 있음(버그 아이디 6515574)
설명: 사용자가 Windows 시작 메뉴의 Message Queue 항목에서 설명서를 선택할 경우 이전 설명서가 표시됩니다.
해결 방법: http://docs.sun.com/app/docs/coll/1307.2 및 http://docs.sun.com/app/docs/coll/1406.2의 설명서에 액세스합니다.
프로그램 추가/제거 제어판에 Message Queue 대신 Sun Java Enterprise System이 표시됨
Config_MQ.txt 파일에 잘못된 정보가 있음. 다음 항목은 일부 오류를 수정한 내용입니다.
자동으로 구성 및 수동으로 구성 옵션은 Message Queue에 사용할 수 없으며, 관리자 비밀번호를 설정할 수 있는 옵션이 없습니다.
자동으로 구성 옵션을 사용하면 Message Queue 브로커 Windows 서비스를 자동으로 설치하고 시작할 수 있습니다.
수동으로 구성 옵션을 사용하면 Message Queue 브로커를 Windows 서비스로 시작하지 않도록 설치할 수 있습니다.
부족한 디스크 공간에 설치하려고 시도할 때 표시되는 오류 메시지가 혼동을 일으킬 수 있음. 예: "Error: -1603 Fatal error during installation."
설치 도중 경로에 mq/bin이 추가되지 않음(버그 아이디 6515557)
설명: Windows 명령 프롬프트에서 Message Queue 실행 가능을 찾을 수 없습니다. 예를 들어, imqcmd를 입력하면 'imqcmd'가 내부나 외부 명령, 작동 가능한 프로그램 또는 일괄 처리 파일로 인식되지 않는다는 오류 메시지가 표시됩니다.
해결 방법: install-MQ-directory/bin이 포함되도록 PATH 변수를 편집하거나 install-MQ-directory/bin 디렉토리에서 응용 프로그램을 실행합니다.
Message Queue 설치가 공유 구성 요소의 자동 설치를 지원하지 않음
해결 방법: JDK 버전 1.6.0(1.6.0의 SOAP 구성 요소)을 사용하거나 Windows에 SOAP 공유 구성 요소를 설치해 줄 Application Server를 설치합니다.