Как сохранить контекст в потоке RetryPolicy, созданном драйвером datastax - PullRequest
0 голосов
/ 28 марта 2019

Я настраиваю политику повторных попыток, применяя datastax RetryPolicy .Я заметил, что при запуске политика повторных попыток выполняется в новом потоке, созданном платформой datastax.Таким образом, я теряю свой контекст и не могу установить связь между выполнением исходного запроса и текущим выполнением повторной попытки (мои соответствующие данные контекста хранятся в ThreadLocal .). Есть ли способ зарегистрировать / передать данные в повтор?политика, чтобы иметь возможность использовать информацию из исходного запроса?Моя конечная игра заключается в том, чтобы иметь возможность регистрировать соответствующую контекстную информацию из потока исходного запроса.

1 Ответ

0 голосов
/ 05 апреля 2019

Действительно, методы политики повтора вызываются во внутреннем потоке драйвера, поэтому вы не можете использовать ThreadLocal для совместного использования контекста.

Вместо этого вы можете обернуть свои операторы в пользовательский StatementWrapper , который сохраняет эту информацию в окончательных полях.

...