2014-09-17 2 views
0

quickfixj 앱을 실행할 때 일정 시간이 지나면 메모리 부족 문제가 발생합니다. 약간의 조사 후, 재전송 요청을 받았을 때 재전송을 위해 quickfixj 캐시를 사용한다는 메시지가 원인이라는 것을 알게되었습니다.QuickFixJ의 PersistMessages 및 FileStorePath 설정에 미치는 영향 :

테스트를 위해 특정 세션에서이 플래그를 N으로 설정했습니다. 그 후 내 기억 문제는 완전히 사라졌습니다. 그러나 나는 quickfixj가 제대로이 속성을 설정할 때 이러한 메시지를 메모리에 유지하는 이유를 이해하지 못합니다 : FileStorePath. 이 메시지는 파일에 저장해야하지만 메시지에는 저장되어서는 안됩니다. FileStorePath에서 설정 한 디렉토리에 일부 파일이 있지만 메시지를 저장하는 것으로 보이는 파일이 없기 때문에 그 중 시퀀스 번호 만 볼 수 있습니다. 이 작업을하기 위해 다른 플래그를 설정해야합니까?

테스트 외부에서 PersisMessages 플래그를 사용할 계획이 아닙니다. 합리적인 수치의 FileStoreMaxCachedMsgs 플래그를 선호합니다. 또한 PersisMessages를 N으로 설정했을 때 앱이 재전송 요청을 받으면 어떻게 될지 알아야합니다. quickfixj가 대신 gapfills를 보내거나 일부 예외 메시지로 인해 충돌합니까?

감사합니다.

답변

0

나는 메시지를 찾을 수 없을 때 quickfixj가 간격 채우기를 보내는 것을 발견했습니다. 또한 설정 플래그 FileStoreMaxCachedMsgs는 quickfixj에게 캐시에 보관해야하는 메시지의 양을 파일로 보내기 전에 알려주는 데 사용됩니다. 그래서 내 생각에이 플래그는 메시지 캐싱으로 인해 메모리가 부족한 상태로 앱을 작동 시키도록 변경되어야합니다.

누군가에게 도움이되기를 바랍니다. 감사합니다.