2013-05-15 2 views
0

외부 웹 서비스를 호출하는 Mule 앱이 있습니다. 이 웹 서비스를 호출하기 전에 세션 키 웹 서비스를 호출하여 세션 키를 검색하여 orignal 대상 웹 서비스에 보내야합니다. 이 세션 키 서비스는 매번 로그인 할 때와 동일한 회사 이름 매개 변수를 입력으로 사용하고 호출 될 때마다 10 분 동안 유효한 고유 한 문자열을 반환합니다. 웹 서비스 호출마다 고유 한 키가 사용되어야하며 두 개를 동시에 사용할 수 없습니다.Mule에서 세션 키 풀 만들기

그래서이 세션 키는 하나의 로그인이지만 하나의 로그인에 대해 여러 개의 다른 세션 키가 있기 때문에 아무 것도 입력 할 수 없습니다.

나는 이것을 위해 Apache Commons Pool을 좀 더 구체적으로 살펴 보았다. 잘 작동하도록 키잉 된 각 세션 키가 필요없는 GenericObjectPool.

하지만 저는 이것을 뮬과 잘 통합하기 위해 고심하고 있습니다. Spring을 사용하여 이것을 설정했고 구현해야하는 인터페이스는 모든 HTTP 요청과 변환 등을 Java 코드 내에서 외부 웹 서비스에 연결하도록 지시합니다. 그러나 이상적으로 저는 이것을 위해 Mules 핵심 전송 장치와 변압기를 사용하고 싶습니다.

무엇을 가장 잘 설계 할 수 있습니까?

인터셉터를 만드시겠습니까?

내 맞춤 코드로 전송을 주입 하시겠습니까?

아니면 노새와 잘 어울리는 간단한 키가 아닌 풀링을하는 더 좋은 방법이 있습니까?

모든 안내에 감사드립니다.

답변

1

풀 개체 팩토리에서 직접 뮬 전송을 사용하거나 MuleClient을 통해 흐름과 상호 작용할 수 있습니다.

봄 콩을 MuleContextAware으로 만들면 MuleContext을 받게되고 getClient()이라는 Mule 클라이언트가 생성됩니다.

+0

감사합니다. David. 나는 잘 모르겠다. 내 흐름에서 Java 클래스의 메서드를 호출 할 필요가 없습니다. 실제로 다른 방법이 있습니다. Java 코드에서 Mule 엔드 포인트 또는 트랜스포머를 호출하여 세션 키 풀을 채우고 키가 만료되면 풀을 업데이트해야합니다. –

+0

Gotcha, 내 대답을 검토했습니다. –

+0

감사합니다. 실제로 책을 읽었으며 내 구성 요소를 Mule의 내부와 연결하는 것에 관심이있었습니다. MuleClient/MuleContextAware가 "나쁨"중 최고입니까? –