2013-07-03 1 views
0

EJB3.0을 사용하고 있습니다. 동일한 애플리케이션 서버의 다른 애플리케이션에서 실행중인 원격 ejb 3.0을 실행중인 websphere 애플리케이션 서버 v7에서 실행중인 애플리케이션이 있습니다. @EJB 주석을 사용하여 코드에 원격 인터페이스를 삽입합니다. 그것은 잘 실행되므로 모든 설정과 코드는 괜찮습니다.원격 ejb 앱을 다시 시작할 때 @EJB 삽입이 실패합니다.

다른 응용 프로그램 (ejb 포함)이 다시 시작될 때 (코드의 다른 위치로 인해 수정 될 수 있음) 응용 프로그램과 클라이언트가 더 이상 실행되지 않으면 ejb 스텁에 대한 참조가 손실 된 것 같습니다. 문제는 응용 프로그램을 다시 시작하기 만하면 해결할 수 있지만 프로덕션 환경에서는 좋지 않습니다.

필요하다면 ejb를 다시 주입하거나 갱신하고 싶습니다. 가능한가? 또 다른 방법은 ejb 스텁을 만들어 내 응용 프로그램에 추가하는 것입니다. 어쨌든 좋은 것은 아니며 피할 수 있습니다. 또한 InitialContext를 통해 이전의 'lookup'방식으로 전환하려고 시도했지만 스텁에서 ClassCastException 만 가져 왔는데 ... 다시 콘크리트 스텁이 필요합니다.

이 'classic '시나리오? 감사합니다. MMad

+0

이 경우 벤더 (IBM)와 티켓을 여는 것이 좋을 것입니다 ... btw : 정말 원격 호출입니까? 동일한 서비스 인스턴스를 사용하는 한 응용 프로그램간에 로컬 호출을 할 수 있습니까? – home

+0

필자는 Websphere가 "병렬 배포"를 지원하여 클라이언트/클라이언트 ejb에 가동 중지 시간이 전혀 없음을 확인하는 인상을 받았습니다. –

+0

까지 로컬 호출이 동일한 응용 프로그램 내에서 사용될 수 있다는 것을 알고 있기 때문에 동일한 서버에서도 클라이언트와 ejb에 대해 두 가지 다른 응용 프로그램을 사용할 수 있습니다. 또한 이것이 '고전적'시나리오라고 들었지만 ejb 앱이 배포 될 때마다 클라이언트 응용 프로그램에 스텁을 추가하거나 클라이언트 응용 프로그램을 다시 시작하는 유일한 해결책이 있다고 믿을 수 없습니다. 병렬 배포 정보 : 저는 그러한 기능을 모르지만 웹 스피어 정보 센터를 심화 시키려고 노력할 것입니다. – user2547476

답변

0

이전 WebSphere 7 버전에서는 이러한 문제가 있었지만 최신 버전에서는 수정 된 것을 기억합니다. 7.0 용 최신 수정 팩을 설치해야하며 문제가 계속 발생하면 IBM과 함께 PMR을여십시오.