2013-10-10 3 views
0

Здесь у нас есть приложение, развернутое в Amazon, которое использует mongo в качестве своей базы данных, используя Morphia поверх Mongo Java Driver.Как автоматически повторить команды на Morphia/Mongo Java Driver

Однако иногда мы сталкиваемся с некоторыми проблемами связи, а некоторые запросы, вставки и обновления, сделанные в mongo, заканчиваются неудачей. Мы хотели бы сказать, что морфия (или, скорее всего, драйвер mongo java) автоматически повторяет неудачную команду определенное количество раз, независимо от причины (независимо от того, является ли это сбоем сети/соединения, исключением тайм-аута сокета или даже плохой запрос или что-то в этом роде).

Мы могли бы попробовать и обернуть наши звонки в банке try/retry, но для этого нам потребуется какой-то большой рефакторинг, и он, вероятно, все равно не поймает каждый вызов, сделанный mongo по морфию.

Мы нашли некоторые интересные варианты по документации драйвера Монго Java, такие как autoConnectRetry и socketKeepAlive, но они, кажется, только адрес сбоев сети, и кажется, что они не будут работать на нашей установке ,

Есть ли другой вариант конфигурации, который мы можем использовать для достижения этого? Если нет, как вы, ребята, предложите нам подойти к этой проблеме?

ответ

1

Нет никаких средств ни в драйвере, ни в морфии для повторных команд. Тебе придется самому справиться.

Смежные вопросы