다음 문제는 Message Queue 관리 및 구성에 관련된 내용입니다.
Windows 플랫폼에서는 imqsvcadm 명령을 사용하여 수동으로 Message Queue 브로커를 Windows 서비스로 추가해야 합니다. 설치 프로그램을 실행해도 브로커가 서비스로 추가되지 않습니다.
Windows 플랫폼의 경우 기본적으로 설정되어 있는 기본 제공 Windows 방화벽에서 브로커가 클라이언트에서 들어오는 연결을 허용할 수 있도록 방화벽 규칙을 수동으로 구성해야 합니다. (버그 6675595)
제어판에서 Windows 방화벽을 두 번 누릅니다.
Windows 방화벽 설정 대화 상자를 열려면 사용자 계정 제어 대화 상자에서 계속을 눌러야 합니다.
Windows 방화벽 설정 대화 상자에서 예외 탭을 누릅니다.
프로그램 추가를 누릅니다.
프로그램 추가 대화 상자에서 java.exe를 선택하고 찾아보기를 누릅니다.
Windows에서 브로커 프로세스는 Java Platform SE 이진 형식으로 확인됩니다. 그러므로 브로커에서 사용되는 java.exe를 찾습니다(일반적으로 jdk1.5.0_15\jre\bin\java.exe에 있음).
범위 변경을 누릅니다.
범위 변경 대화 상자에서 "모든 컴퓨터(인터넷에 있는 컴퓨터 포함)"을 선택합니다.
확인을 누릅니다.
프로그램 추가 대화 상자에서 확인을 누릅니다.
Windows 방화벽 설정 대화 상자에서 확인을 누릅니다.
Windows 플랫폼에서 CLASSPATH에 큰 따옴표가 포함되어 있는 경우 imqadmin 및 imqobjmgr 명령에서 오류가 발생합니다. (버그 5060769)
해결 방법: 명령 프롬프트 창을 열고 CLASSPATH를 설정 해제합니다.
set classpath=
그리고 같은 명령 프롬프트 창에서 원하는 명령을 실행합니다. 예를 들면 다음과 같습니다.
mqInstallHome\mq\bin\imqadmin
모든 Solaris 및 Windows 스크립트에서 -javahome 옵션의 입력 값에 공백이 포함된 경우 이 옵션이 작동하지 않습니다. (버그 4683029)
javahome 옵션은 Message Queue 명령 및 유틸리티에서 사용할 대체 Java 2 호환 런타임을 지정하는 데 사용됩니다. 그러나 대체 Java 런타임의 경로 이름에는 공백이 포함되지 않아야 합니다. 다음은 공백을 포함하는 경로의 예입니다.
Windows: C:\jdk 1.4
Solaris: /work/java 1.4
해결 방법: 공백이 없는 위치 또는 경로에 Java 런타임을 설치합니다.
imqQueueBrowserMaxMessagesPerRetrieve 속성은 클라이언트 런타임에서 대기열의 내용을 찾아볼 때 한 번에 검색하는 메시지의 최대 수를 지정합니다. 이 속성은 대기열에 지정된 메시지의 일괄 처리 방법과 클라이언트 런타임에 전달되는 방법에 영향을 주지만 찾는 총 메시지 수에는 영향을 주지 않습니다. 이 속성은 찾기 메커니즘에만 영향을 주며 대기열 메시지 전달에는 영향을 주지 않습니다. (버그 6387631)