메시징 문제점 해결 팁

이러한 팁은 WebSphere® 메시징 구성의 문제점을 해결하는 데 도움을 줍니다.

참고: 이 주제는 하나 이상의 애플리케이션 서버 로그 파일을 참조합니다. 권장되는 대안은 분배 및 IBM® i 시스템에서 SystemOut.log, SystemErr.log, trace.logactivity.log 파일을 사용하는 대신 HPEL(High Performance Extensible Logging) 로그를 사용하고 인프라를 추적하도록 서버를 구성하는 것입니다. 원시 z/OS® 로깅 기능과 연계하여 HPEL을 사용할 수도 있습니다. HPEL을 사용하는 경우 서버 프로파일 바이너리 디렉토리의 LogViewer 명령행 도구를 사용하여 모든 로그에 액세스하고 정보를 추적할 수 있습니다. HPEL 사용에 대한 자세한 정보는 HPEL을 사용한 애플리케이션 문제점 해결 정보를 참조하십시오.

[IBM i][AIX Solaris HP-UX Linux Windows]메시징 관련 문제점을 식별하고 해결하는 데 도움을 받기 위해 WebSphere Application Server 추적 및 로깅을 사용할 수 있습니다.

[z/OS]메시징과 관련된 문제점을 식별하고 해결하는 데 도움을 받기 위해 컴포넌트 추적(CTRACE) 설정에서 설명된 대로 WebSphere Application Server 추적 및 로깅 기능을 사용할 수 있습니다.

WebSphere Application Server 메시징 기능을 사용하는 애플리케이션을 배치하거나 실행하는 데 문제점이 있으면 다음 주제를 참조하십시오.

WebSphere Application Server 메시지 및 로그에서 IBM MQ 오류 메시지 또는 이유 코드를 발견하면 IBM MQ Information Center의 메시지 섹션을 참조하십시오.

문제점 진단 및 수정: 학습 자원에 있는 링크를 사용하여 문제점을 식별하고 문서화했는지 확인하십시오.

WebSphere MQ 자원 어댑터 구성이 자동으로 업데이트되지 않고 수동 유지보수를 필요로 함

WebSphere Application Server 수정팩을 적용하면 일반적으로 IBM MQ 자원 어댑터가 자동으로 업데이트됩니다. 그러나 환경의 일부 노드에서 IBM MQ 자원 어댑터를 수동으로 업데이트한 경우 수정팩을 적용해도 해당 노드의 서버가 사용하는 자원 어댑터는 자동 업데이트되지 않습니다.

이 문제를 해결하려면 IBM MQ 자원 어댑터 관리의 내용을 참조하십시오.

수정팩 설치 시 java.lang.ClassNotFoundException 예외가 발생함

수정팩 설치 시 다음 메시지가 표시되는 경우 IBM MQ 자원 어댑터 관리의 지시사항을 따라 문제점을 해결을 시도하십시오.
J2CA0043E: An exception occurred while trying to instantiate a ResourceAdapter
JavaBean instance for the installed ResourceAdapter defined by key #removed#

z/OS용 WebSphere MQ의 메시지가 JMS 애플리케이션에서 이용되고 있지 않음

z/OS용 WebSphere MQ의 메시지가 WebSphere Application Server에 배치되고 연결 팩토리 또는 활성화 스펙을 사용하는 JMS 애플리케이션에 의해 이용되고 있지 않습니다.

JMS 애플리케이션이 더 이상 메시지를 전송하거나 수신할 수 없음

기본 메시징 제공자를 사용하도록 애플리케이션을 구성할 때 해당 애플리케이션을 다음 자원 세트 중 하나와 연관시킵니다.
  • JMS(Java™ Message Service) 활성화 스펙을 통해 연결되는 하나 이상의 메시지 Bean
  • JMS 연결 팩토리와 JMS 대상을 통해 연결되는 하나 이상의 엔터프라이즈 Bean
이 문제점 해결을 도우려면 다음 관리 콘솔 패널을 사용하여 애플리케이션 및 JMS 자원의 구성을 검사하십시오.

MDB 리스너 시작에 실패함

리스너 포트에 대해 배치된 MDB 리스너가 시작에 실패하는 경우 다음 메시지를 확인해야 합니다.
WMSG0019E: Unable to start MDB Listener {0}, JMSDestination {1} : {2} 
이 문제점 해결을 도우려면 다음 요인을 확인하십시오.
  • 관리 자원이 올바르게 구성되었는지 확인하십시오. 예를 들어, 관리 콘솔을 사용하여 리스너 포트 특성 중 대상 JNDI 이름 및 연결 팩토리 JNDI 이름을 확인하십시오. 리스너 포트의 다른 특성, 대상 및 연결 팩토리가 정확한지 확인하십시오.
  • 큐가 존재하고 JMS 서버에 추가되었는지 확인하십시오.
  • 큐 관리자 및 JMS 서버가 시작되었는지 확인하십시오.
  • 원격 큐 관리자 리스너가 시작되었는지 확인하십시오.
  • [AIX Solaris HP-UX Linux Windows][IBM i]보안이 사용으로 설정된 경우 컴포넌트 관리 인증 별명이 메시지 구동 Bean이 사용하는 큐 연결 팩토리 또는 주제 연결 팩토리에서 지정되었는지 확인하십시오. [z/OS]보안이 사용으로 설정된 경우 MDB 리스너를 시작하는 데 사용되는 사용자 ID에 적절한 권한이 부여되는지 확인하십시오. 자세한 정보는 보안이 사용으로 설정된 JMS 애플리케이션 실행 중 문제점의 내용을 참조하십시오.

보안이 사용으로 설정된 JMS 애플리케이션 실행 중 문제점

보안이 사용으로 설정된 JMS 애플리케이션을 실행하려고 하는 경우 하나 이상의 다음 오류 메시지에 표시되는 인증 문제점이 발생할 수 있습니다.
WMSG0019E: Unable to start MDB Listener PSSampleMDB, JMSDestination Sample/JMS/listen : 
javax.jms.JMSSecurityException:
이 예제는 제공된 보안 신임 정보가 유효하지 않음을 나타냅니다.
이 문제점을 해결하려면 보안 구성을 확인하십시오.
  • 인증 메커니즘이 Application으로 설정되는 경우 애플리케이션은 유효한 신임 정보를 제공해야 합니다.
  • 인증 메커니즘이 Container로 설정되는 경우 컨테이너 관리 인증 별명으로 JMS 연결 팩토리를 구성하고 연관된 사용자 ID 및 비밀번호가 유효한지 확인해야 합니다. [z/OS]또는 bindings 전송 모드에서 실행 중일 때 커넥터 스레드 ID 지원을 이용할 수 있습니다.
[AIX Solaris HP-UX Linux Windows][IBM i]
MQJMS2013 invalid security authentication supplied for MQQueueManager:
JMS 연결에서 JMS 제공자로 IBM MQ을 사용하고 바인딩 전송 모드를 사용하며 지정된 사용자가 WebSphere Application Server 프로세스를 위해 현재 로그온한 사용자가 아닌 경우 IBM MQ에 의한 JMS 바인딩 인증은 올바르지 않은 보안 인증 오류를 생성합니다.
이 문제점을 해결하려면 보안 구성을 확인하십시오. 바인딩 전송 모드를 사용하도록 IBM MQ JMS 제공자를 구성하는 경우 IBM MQ 큐 연결 팩토리에서 Transport type 특성을 BINDINGS로 설정합니다. 이 때 다음 옵션 중 하나도 선택합니다.
  • 보안 신임 정보를 사용합니다. 이를 수행하려면 지정된 사용자가 WebSphere Application Server 프로세스를 위해 현재 로그온된 사용자인지 확인하십시오.
  • 보안 신임 정보를 사용하지 않습니다. IBM MQ 연결 팩토리에서 Component-managed Authentication AliasContainer-managed Authentication Alias 특성이 설정되지 않는지 확인하십시오.

메시징 보안에 대한 자세한 정보는 메시지 보안의 내용을 참조하십시오.

[AIX Solaris HP-UX Linux Windows]

Solaris에서 zh_TW.EUC 로케일이 설정되면 애플리케이션 서버가 시작되지 않음

Solaris에서 로케일을 zh_TW.EUC로 설정하고 IBM MQ를 JMS 제공자로 사용하는 경우 애플리케이션 서버가 시작되지 않을 수 있습니다.

이 문제점을 해결하려면 LANG 및 LC_ALL 변수를 zh_TW로 설정하십시오.

JMS 메시지 처리 중 서버 메모리 이용 및 java.lang.OutOfMemoryError 예외 발생

기본 메시징 제공자를 사용할 때 JMS 메시지는 애플리케이션 서버 프로세스 내에서 메시징 엔진에 의해 처리됩니다. 이 접근법은 애플리케이션 서버 JVM 힙에서 메모리를 이용합니다. 대형 메시지의 중요한 동시 처리가 있고 JVM 힙에 대해 사용 가능한 메모리의 양이 이 이벤트를 처리하기에 충분하지 않은 경우 java.lang.OutOfMemoryError 예외가 처리되고 애플리케이션 서버가 종료됩니다.

이 문제점을 해결하려면 잠재적인 동시 프로세서 또는 메시지 이용자 수 및 메시지 크기를 추정한 다음 그러한 영향을 처리할 수 있는 애플리케이션 서버 JVM 힙의 크기를 설정하십시오. 예를 들어 다음과 같습니다.
  1. 메시지를 동시에 처리하는 메시지 구동 Bean을 배치할 때 잠재적인 동시 엔드포인트별로 애플리케이션 서버 메모리를 추정하십시오. 동시에 메시지 요청을 처리하는 각 엔드포인트는 서버 JVM 힙에 최소 두 배 이상의 메시지 크기를 추가하고 특히 2단계 트랜잭션이 실행되는 경우 그 이상을 추가할 수 있음에 유의하십시오.
  2. WebSphere Application Server 관리 콘솔을 시작하십시오.
  3. 서버 > 서버 유형 > WebSphere Application Server > server_name > Java 및 프로세스 관리 > 프로세스 정의 > JVM(Java Virtual Machine)으로 이동한 다음 Initial Heap SizeMaximum Heap Size 특성을 설정하여 애플리케이션 서버 JVM 힙에 사용 가능한 메모리의 양을 구성하십시오.
  4. 자원 > JMS > JMS 제공자 > 기본 메시징 제공자 > 활성화 스펙 > activation_specification_name으로 이동한 후, 이 메시징 구동 Bean에 대한 활성화 스펙의 Maximum concurrent endpoints 특성을 설정해서 메시지를 처리할 수 있는 동시 MDB 엔드포인트 수를 구성하십시오.

TopicConnectionFactory 속성 충돌 오류

IBM MQ 메시징 제공자를 사용하는 JMS 주제 등록자를 작성할 때 SystemOut.log 파일에서 다음 오류 메시지가 발생할 수 있습니다.
WSVR0017E: Error encountered binding the J2EE resource, TopicConnectionFactory, as <JNDI_NAME>
   from file:<RESOURCES_FILE> com.ibm.ws.runtime.component.binder.ResourceBindingException: invalid
   configuration passed to resource binding logic. REASON: Failed to create connection factory:
   Error raised constructing AdminObject, error code:  TopicConnectionFactory attributes clash  : 
   TopicConnectionFactory attributes clash 

이 문제점은 등록자를 작성하는 데 사용되며 브로커 버전을 "기본"으로 지정하고 메시지 선택 값을 "브로커"로 지정하는 JMS 주제 연결 팩토리의 구성으로 인해 발생합니다. "기본" IBM MQ 브로커(MA0C SupportPac 브로커)는 "브로커" 메시지 선택을 지원하지 않습니다.

이 문제점을 해결하려면 메시지 선택 값을 "클라이언트"로 지정하도록 JMS 주제 연결 팩토리를 변경하십시오. 이는 IBM MQ 기본 브로커(MA0C SupportPac 브로커)에 대해 유일하게 지원되는 값입니다.

WSEC5061E: SOAP 본문이 서명된 예외가 아님

IBM MQ 메시징 제공자의 JMS 전송을 사용하는 보안 웹 서비스 애플리케이션을 실행할 때 SystemOut.log 파일에 다음 오류 메시지가 발생할 수 있습니다.
com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5061E: The SOAP Body is not signed.; null
이 문제점은 다음 환경에서 발생합니다.
  • 웹 서비스 보안으로 구성되는 웹 서비스 애플리케이션이 WebSphere Application Server 보안이 사용으로 설정된 애플리케이션에서 실행되고 있습니다.
  • 이 웹 서비스 애플리케이션은 JMS 전송을 사용하여 SOAP 요청을 대상 웹 서비스로 전송합니다.
  • JMS 자원은 원격 IBM MQ 서버를 사용하여 IBM MQ 큐에 연결합니다.
  • 같은 IBM MQ 서버를 통해 같은 큐를 사용하도록 구성되는 다른 동일 웹 서비스 애플리케이션이 WebSphere Application Server 보안이 사용으로 설정되지 않은 다른 애플리케이션 서버에서 실행되고 있습니다.

이 문제점은 원래 애플리케이션에서 전송된 요청이 같은 큐를 통하지만 보안이 사용으로 설정되지 않은 다른 애플리케이션 서버로 처리되는 경우 발생합니다.

이러한 문제점을 해결하려면 다음을 수행하십시오.
  1. IBM MQ 서버에서 고유한 포트를 사용하여 고유 큐 관리자를 작성하십시오.
  2. 새 큐 관리자 및 포트를 사용하도록 JMS 자원을 재구성합니다. 예를 들어, IBM MQ 메시징 제공자에 대한 큐 연결 팩토리 구성에 설명된 대로 WebSphere Application Server 관리 콘솔을 사용하여 IBM MQ 큐 연결 팩토리의 특성을 변경합니다.
  3. 애플리케이션을 다시 실행합니다.

IBM MQ를 외부 JMS 제공자로 사용할 때 오류가 발생함

IBM MQ을 외부 JMS 제공자로 사용하고 사용자 관리 트랜잭션 내에서 IBM MQ 큐로 메시지를 전송하는 경우 트랜잭션이 커미트되기 전에 메시지가 대상에 도착할 수 있습니다. 이 문제점은 IBM MQ 자원 관리자가 사용자 관리 트랜잭션에 편입되지 않는 경우에 발생됩니다.

이 문제점을 해결하려면 컨테이너 관리 트랜잭션을 사용하십시오.

[AIX Solaris HP-UX Linux Windows][IBM i]

javax.jms.JMSException: MQJMS3024: MDB 리스너를 시작할 수 없음

이 오류는 초기화되지 않은 클라이언트 ID(즉, 지속 가능한 등록과 연관되지 않은 클라이언트 ID)를 사용하는 경우 발생할 수 있습니다. 이 문제점을 해결하려면 다음 세 가지 방식 중 하나로 클라이언트 ID를 설정하십시오.
  • jmsadmin 도구를 사용하여 tcf의 특성으로 클라이언트 ID를 설정합니다. 예를 들면, tcf(myTCF) clientid(myID)를 변경합니다.
  • TopicConnection.setClientID()를 사용하여 클라이언트 ID를 프로그래밍 방식으로 설정합니다.
  • 관리 콘솔을 사용하여 클라이언트 ID 필드를 관리적으로 설정하여 WebSphere MQ 메시징 제공자 주제 연결 팩토리 설정를 수정합니다.
[z/OS]

WebSphere MQ 메시징 제공자 채널 프레임워크 메시지가 서버 시작 중 표시됨

다음 메시지는 후속 재시도에서 연결에 성공한 경우라도 서버 시작 중 제어 영역 부속 요소(CRA) 프로세스에서 다음 메시지가 여러 번 표시될 수 있습니다. 이 메시지는 z/OS TCP 프록시 채널이 비동기 방식으로 시작됨으로 인해 발행되고 오류가 발생했음을 나타내지는 않습니다.

Trace: 2009/06/17 08:24:41.434 01 t=9C6B58 c=UNK key=P8 (00000011)
Description: Log Java Message 
Message: CHFW0030E: Error starting chain _InboundTCPProxyBridgeService because 
of exception com.ibm.wsspi.channel.framework.exception.RetryableChannelException: 
An exception was thrown when attempting to start the TCPProxyChannel 
com.ibm.ws.channel.framework.imp l.ChannelFrameworkImpl
이러한 메시지로 다음 예와 비슷한 FFDC(First Failure Data Capture) 출력이 발생할 수 있습니다.
Exception = com.ibm.wsspi.channel.framework.exception.RetryableChannelException
Source = com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.startChainInternal
probeid = 2577
Stack Dump = com.ibm.wsspi.channel.framework.exception.RetryableChannelException: 
An exception was thrown when attempting to start the TCPProxyChannel
        at com.ibm.ws.tcpchannelproxy.jfap.impl.TCPProxyInboundChannel.
start(TCPProxyInboundChannel.java:153)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.
startChannelInChain(ChannelFrameworkImpl.java:1410)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.
startChainInternal(ChannelFrameworkImpl.java:2863)
        at com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl.
startChainInternal(WSChannelFrameworkImpl.java:960)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.
startChainInternal(ChannelFrameworkImpl.java:2794)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.
startChain(ChannelFrameworkImpl.java:2779)
        at com.ibm.ws.runtime.component.ChannelFrameworkServiceImpl.
startChain(ChannelFrameworkServiceImpl.java:666)
        at com.ibm.ws.sib.jfapchannel.framework.impl.ChannelFrameworkReference$TCPProxy
BridgeServiceInboundChainStartupRunnable.run(ChannelFrameworkReference.java:1641)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
Caused by: com.ibm.ws.tcpchannelproxy.jfap.NotYetInitializedException: 
Server is not yet initialized
        at com.ibm.ws.tcpchannelproxy.jfap.TCPProxyBridgeServicesImpl.
startListening(TCPProxyBridgeServicesImpl.java:558)
        at com.ibm.ws.tcpchannelproxy.jfap.impl.TCPProxyInboundChannel.
start(TCPProxyInboundChannel.java:131)
        ... 8 more
결국 다음 메시지가 표시되어 z/OS TCP 프록시 채널이 올바르게 시작되었음을 나타냅니다.
Trace: 2009/06/17 08:24:51.449 01 t=9C6B58 c=UNK key=P8 (13007002)
   ThreadId: 00000003
   FunctionName: com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl
   SourceId: com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl
   Category: AUDIT
   ExtendedMessage: BBOO0222I: CHFW0019I: The Transport Channel Service has started 
chain _InboundTCPProxyBridgeService.

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rmj_prob0
파일 이름:rmj_prob0.html