2013-05-17 2 views
0

안녕하세요 페이로드가 원래 페이로드와 함께 수정되는 복잡한 흐름이 있습니다. 원래의 페이로드를 얻기 위해서 나는 초기 페이로드를 mule session 변수에 저장하고있다. 그래서 나는 그 변수 (원래 페이로드)를 흐름 아래로 사용할 수있다. 이 프로세스는 작동하지만 내 관심사는 내 뮬 세션 변수 스레드 안전입니까?
호출을 선택했는데 아웃 바운드 범위를 시도했지만 변수 값이 일부 처리 및 변환 후에 흐름 아래에서 null이되는 것을 발견했습니다.은 뮬 세션 변수 thread safe입니까?

모든 입력 사항을 매우 높이 평가할 것입니다. 감사합니다

답변

0

뮬 메시지는 한 번에 하나의 스레드에 의해 처리되므로 뮬 메시지의 변수 또는 속성 (범위)은 스레드로부터 안전 할 필요가 없습니다. 단일 플로우에서 특성을 사용하려면 호출 범위가 충분해야합니다.

0

분명히 세션 변수는 스레드로부터 안전하지 않습니다. 동일한 세션 변수를 수정하는 코드 조각을 병렬 실행하기 위해 스플리터와 애그리 게이터가있는 흐름에서 세션 변수를 사용했습니다. Splitter 스레드 내부의 데이터를 덮어 쓰는 것으로 나타났습니다!

0

세션 변수는 흐름이 커넥터가 될 수있는 전송 장벽을 통과 한 후에 참조되어야하는 값을 저장하기위한 것입니다. 동일한 흐름 세션 변수 내에서 스레드 안전합니다.