2 개의 Tibco-Ems 서버가 실행 중이며 내결함성 설정이 있습니다. 하나의 서버를 사용할 수없는 경우 활성 서버는 으로 예상대로 장애 조치 서버로 전환합니다.Tibco-Ems 장애 복구 문제
그러나 지금은 이상한 오류가 발생합니다. 그런 다음 새 활성 서버라고 표시됩니다. "재 연결 실패 : ID가 XY 인 연결을 알 수 없음"
이는 클라이언트에 열린 연결이있는 경우에만 발생합니다. 하지만 그게 내가 기대하는 것입니다, 연결도 새로운 활성 서버로 전환해야합니다. 그리고 내가 말했듯이 때로는 효과가 있고 때로는 그렇지 않습니다.
클라이언트에서 EMS 예외를 등록 할 때 다음 오류가 발생합니다. "전송 연결에서 데이터를 읽을 수 없습니다 : 원격 호스트에서 강제로 기존 연결을 닫았습니다."
스택 트레이스 : System.Net.Sockets.NetworkStream.Read에서 (바이트 [] 버퍼 오프셋 INT32, INT32 사이즈) TIBCO.EMS.LinkTcp._readEx에서 (바이트 [] 버퍼 오프셋 INT32, INT32 사이즈) TIBCO.EMS.LinkTcp.LinkReader.Work에서 TIBCO.EMS.LinkTcp._ReadWireMsg() ()
이 지금 내가 할 수있는 것을 더 이상 생각이 없다에서 . 어쩌면 누군가가 내가 정확한 문제가 무엇인지 이해하는 것을 도울 수 있습니다. 사전에 감사
UPDATE : 여기 늦은 업데이트 : 예상대로 내가 오류 "재 연결 실패"얻을 수 있지만 그것은 작동합니다. 두 번째 서버가 인계받습니다.
은 이론 상으로는 좋은 것처럼 들리지만 내 경우에는 작동하지 않습니다. 나는 항상 "재 연결 실패"메시지를 받는다. 너 내가 뭘 잘못하고 있는지 알기나 해? – DanielG
"재 연결 실패"메시지를 얻는 유일한 방법은 클라이언트가 서버가 이미 정리 한 재 연결 통과 재 연결 매개 변수를 시도 할 때입니다. 거의 항상 즉시 성공적인 연결이 이어지며 일반적으로 성공적인 연결을 기록 할 때까지 로그되지 않습니다. 이것이 문제가되는 경우 ft_reconnect_timeout 매개 변수를 기본값 인 60 초 (값은 초 단위로 지정)보다 큰 값으로 설정할 수 있습니다. log_trace 매개 변수에 + CONNECT를 추가하면 일어나는 일에 대해 자세히 알 수 있습니다. – nochum
다시 한번 고마워. 하지만 성공적으로 다시 연결하면 어떻게해야합니까? 클라이언트 측에서해야 할 일없이 이전과 마찬가지로 연결해야합니까? 아마도 내가 실수하고있는 부분이 그럴 것입니다. 장애 조치 서버가 인계받은 후, 나의 연결은 더 이상 유효하지 않습니다! 그렇다면 새로운 연결을 만들어야합니까? 나는 그것에 대해 신경 쓸 필요가 없습니까? – DanielG