2017-10-24 19 views
0

대기열에 메시지를 넣는 비즈니스 서비스를 호출하는 프록시 서비스가 있습니다. 내 문제는 Weblogic 콘솔의 상태 문자열이 "표시"대신 "트랜잭션 전송"으로 남아 있다는 것입니다. 이것이 내 BAM의 원인입니다. 소비자가 대기열에서이 메시지를 가져올 수 없습니다. 이 상태를 변경하기 위해 프록시 또는 비즈니스 서비스에서 수행해야하는 구성이 있습니까? 나는 또한 메시지가 오직 성공할 경우에 제거 될 것이라는 점을 보증하기 위하여 대리 서비스에 검사 된 거래를 가지고있다.OSB - JMS 상태 문자열

답변

0

비즈니스 서비스를 호출하는 "프록시"(파이프 라인 아님)를 참조 할 때 11g로 가정합니다. 프록시 서비스가 오류없이 작업을 완료하고 있습니까? XA JMS 연결 팩토리를 사용하여 JMS 대기열로 푸시하는 경우 XA 트랜잭션이 완전히 커밋되고 있습니까? Logs/weblogic JTA 모니터링 탭에 단서가있을 수 있습니다.

또는 XA가 아닌 연결 팩토리를 사용하여 먼저 작동하는지 확인하십시오.

+0

프록시 서비스가 오류없이 작업을 완료하고 있습니까? 예. 메시지가 소스 큐에서 제거되고 debbug에서 메시지가 오류 처리기에서 전달되지 않음을 알 수 있습니다. XA 트랜잭션이 완전히 커밋되고 있습니까? 예, 오류 대상 대기열을 구성했습니다. –

+0

비즈니스 서비스를 사용하여 수동으로 메시지를 삽입하면 어떻게됩니까? 귀하의 질문에 대답하기 위해, 당신은 txn 완료 성공을 견디는 것과는 별도로 메시지를 볼 수 있도록 명시 적으로 할 필요가 없습니다. 그러나 JMS 대상이 다른 도메인에 있거나 JMS URL (예 : 부적절한 호스트 이름)을 호출하는 방식 인 경우 XA txn이 제대로 커밋되지 않았을 수 있습니다. –

+0

메시지를 수동으로 삽입하면 상태 문자열이 "표시됨"으로 표시되고 모든 것이 작동합니다 . 네, 목적지 큐가 다른 도메인에 있습니다. 나는 SAF를 사용하고 있었지만 다른 도메인에있는 서로 다른 버전의 weblogic 제품에 문제가 있습니다. 왜 OSB를 사용하여 메시지를 보내고 있는지. –