2010-04-01 3 views
1

동일한 Websphere Application Server (6.1)에서 다른 EAR 간의 통신에는 JMX가 사용됩니다. 자바 형식을 인수로만 사용하면 모든 것이 잘 작동하지만 인수로 자체 클래스를 사용하면 문제는 수신자 측에서 ClassCastExceptions를 얻는 것입니다. 이는 분명히 클래스 로더 문제입니다. 즉, 인수 유형이있는 jar를 JRE가 승인 한 디렉토리에 넣으면 모든 클래스 로더가 정확히 동일한 클래스를 사용하므로 예외가 사라집니다. 그러나 우리는 EAR 자체에 인수 유형을 정의하는 라이브러리를 두는 것을 선호합니다.Websphere appserver에서 복잡한 인수가있는 JMX 호출에서 ClassCastException을 피하는 방법

이제 내 질문 : WAS를 직렬화하고 JMX 호출 중에이 경우 ClassCastException이 사라질 것이라고 추측하는 동안 인수를 deserialize하도록 유도하는 트릭이 있습니까?

답변

0

이 문제는 클래스 로더 문제이며, 직렬화 된 객체를 JMX 호출 인수로 전달하면 문제가 해결됩니다. 하지만 상당한 성과 위약을 지불 할 수 있습니다. 객체 직렬화/직렬화가 저렴하지는 않습니다.

+0

오른쪽. 하지만 제 질문은 : JMX 호출을 실행할 때 직렬화를 사용하도록 WAS를 설득하려면 어떻게해야합니까? 참조로 전달되는 것 같습니다. 이로 인해 문제가 발생합니다. –

+0

직접 인수를 직렬화하고 바이트 배열로 전달 하시겠습니까? –

관련 문제