2014-09-17 2 views
0

У меня проблемы с памятью после определенного количества времени при запуске моего приложения quickfixj. После небольшого расследования я узнал, что это вызвано сообщениями, которые quickfixj кэшируют для повторной отправки при получении запроса на повторную отправку.Влияние установки PersistMessages на N и проблемы с FileStorePath в QuickFixJ:

Итак, для тестирования я устанавливаю этот флаг в N на конкретном сеансе. После этого проблемы с памятью полностью исчезли. Но я не понимаю, почему quickfixj сохраняет это сообщение в памяти, когда я правильно установил это свойство: FileStorePath. Эти сообщения должны храниться в файле, но это не так. Я вижу некоторые файлы, присутствующие в каталоге, который я установил в FileStorePath, но ни один из них, похоже, не сохраняет сообщения, я могу видеть только порядковый номер в них. Нужно ли мне устанавливать другие флаги помимо этого, чтобы сделать эту работу?

Я не планирую использовать флаг PersisMessages вне тестирования. Я бы предпочел флаг FileStoreMaxCachedMsgs с разумной цифрой. Мне также нужно знать, что произойдет, если мое приложение получит запрос на повторную отправку, когда я установил PersisMessages в N? Будет ли quickfixj посылать промежуточные заготовки вместо этого или он будет сбой с каким-либо сообщением об исключении?

Благодаря

ответ

0

я ве обнаружил, что quickfixj посылает пробел заполняет, когда он не может найти сообщения. также флаг конфигурации FileStoreMaxCachedMsgs используется, чтобы сообщить quickfixj о том, сколько сообщений он должен хранить в кеше, прежде чем перенаправить их в файлы. поэтому этот флаг, на мой взгляд, должен быть изменен, чтобы заставить ваше приложение работать без нехватки памяти из-за кэширования сообщений.

надеюсь, что это будет полезно для кого-то. Спасибо