QUEUE1에서 비동기 적으로 "트리거"를 수신하는 Spring JMS 기반 클라이언트가 있고 다른 큐 QUEUE2에서 사용할 준비가 된 메시지가 있음을 나타냅니다.WebSphere MQ 큐에서 소비하는 동안 Spring JMS 제한 시간 만료
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<constructor-arg ref="gpyConnectionFactory" />
<property name="destinationResolver" ref="jndiDestinationResolver" />
<property name="receiveTimeout" value="100" />
</bean>
주의 작은 receiveTimeout을 다음과 같이 QUEUE2에
소비는 구성이 JmsTemplate 클래스로 이루어집니다. 이 값은이 응용 프로그램을 담당하기 전에 이미 적용되었습니다.
지금, 나는 그것이 가능성이 제한 시간이 만료 그래서 가끔, 특히 QUEUE2는,
jmsTemplate.receiveSelectedAndConvert(destinationName, mqSelector);
에 상대적으로 큰 메시지 전화가 포함 된 경우 것으로 나타났습니다!
필자가 아는 한 JMS 사양 (올바른 메일 일 경우)으로 대기열에서 메시지를 사용할 수없는 경우에만 시간 초과가 만료됩니다. 현재의 시나리오는 메시지 크기와 그 큐의 메시지가 있다는 사실 때문에 소비자가 큰 메시지 전체를 읽을 시간이 없기 때문에 타임 아웃이 만료된다고 생각합니다. 그게 전부 가능한가?
제공자는 WebSphere MQ입니다.
확실히 높은 시간 제한 값을 설정합니다.