Я использую CommonsHttpSorrServer в веб-приложении. Безопасно ли повторно использовать CommonsHttpSolrServer для нескольких запросов или мне следует создавать экземпляр нового объекта для каждого запроса? Не удалось найти ответ в документах API.
Безопасность потоков SolrJ
comment
Вы спрашиваете, можете ли вы использовать один и тот же объект в разных потоках или можете ли вы использовать один и тот же объект для отдельных запросов?
- person Paul Tomblin   schedule 30.07.2010
comment
Я спрашиваю, могу ли я использовать один и тот же объект в разных потоках для отдельных запросов :)
- person baggio   schedule 30.07.2010
Ответы (1)
Согласно документации и комментариям источника, SolrJ является потокобезопасным.
Однако будьте осторожны при обновлении solr. Согласно это сообщение, транзакции реализуются для каждого экземпляра, а не для очереди. Это означает, что у каждого потока нет собственной изолированной транзакции для работы. Откат откатывает каждый вызов (независимо от исходного потока) до последней фиксации.
В целом это означает, что вы можете безопасно выполнять запросы (используя тот же CommonsHttpSolrServer) с любым количеством потоков. Однако, если вы хотите воспользоваться откатом, вам необходимо убедиться, что только один поток обновляет ваш экземпляр solr за раз (независимо от распределения объектов).
person
jntrac
schedule
18.07.2011