우리가 기다리 PeopleSoft 응용 프로그램 엔진을 기다리는 비동기는 메시지를 완료된 작업은 무엇입니까?

StackOverflow https://stackoverflow.com//questions/22022400

문제

내가 노력하는 프로세스는 데이터는 업로드를 게시하는 메시지를 통해 PeopleSoft 통해 통합 브로커 비동기적으로 응용 프로그램에서 엔진입니다.요점은를 보낼 수 있는 여러 메시지를 소비하는 것과 같은 노드입니다.보내기 전에 메시지를 나는 데이터를 저장하는 테이블에(말 T1)를 저장하는 모든 분야에서 값을 업로드한 파일입니다.

소비하면 내가 하려고 노출에 각각의 메시지를 인터페이스 구성 요소 및 예외에 로그온한 동일한 표 T1.말하자 각 트랜잭션에 대한 우리는 신고의 테이블 분야(말 Processed_flag='Y').

나는 메커니즘이 필요할 수 있는 그냥 기다려야에 대한 모든 비동기는 메시지를 완료합니다.나는 생각하고의 검사 T1,테이블이있는 경우에 행 T1 테이블 Processed_flag 은'N',그냥 실 잠을 위해 많은 시간입니다.하는 동안 모든 메시지 처리되지 않습 유지 잠시키지 않는 응용 프로그램 엔진 완료합니다.

유일한 혜택을 얻을 수 있습니 나는 기다릴 필요가 없을 위해 여러 인스턴스에 한 번 또는 가지지 않을 만드 동시 호출합니다.전체적인 아이디어를 구성 요소를 사용하여 다양한 트랜잭션(으로 사용된 경우로 말하는 100 사람들->100 거래).

지 않는 한 그들이 100 거래가 완료되면,우리가 될 것입니다 있는지 확인 밖으로 T1 테이블의 기록을 유지가는 것입니다.뭔가 잘못된 경우,그것이 로그인할 수 있는 예외를 사로에 의해 CI.

어떤 의견에 이 방법을 감사하겠습니다.사전에 감사합니다!

도움이 되었습니까?

해결책

우리는 다른 방법으로 접근하고 있습니다.는 경우에도 우리는 할 수 있는 데이터의 유효성을 검사하에 표기용 엔진 완료되면,전체적인 아이디어 메시지를 보내는 비동기적으로는 아무 소용이 없습니다.이 경우에는 사용하는 동기식 메시지를 더 나을 것이고 실행하는 프로세스에 병행합니다.

그래서,우리는 우리가 결정하는 결정을 내릴 수 있도록 엔진 완벽하고를 게시한 모든 데이터의 청크를 통해 메시지고 있는지 확인 메시지가 완전히 소모에서 같은 노드입니다.

  1. 우리는 것입 업데이트 T1 테이블,에 대한 모든 처리/성공/실패한 행으로 우리가 소비하는 메시지로 사용할 필요합니다.

  2. 우리는 계속됩니다 감사나 카운터는 모든 행에 대해 게시하고 사용.때문에 노출되는 동일한 구성 요소를 여러 트랜잭션을 것이 성과에 미치는 영향.우리는 확실히 수행하는 더 나은 경우로 말 50 명의 사용자를 업데이트하는 동 테이블 뒤에 구성 요소를 사용하여 동일한 CI(물론 다른 경우).나는 것입을 완료 내 개념의 증명과 희망이 될 것보다 훨씬 더 나은 실행하는 프로세스에 병행합니다.

이 도울 수 있는 하나 이러한 처리로 업로드 문제입니다.감사합니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top