2016-02-28 3 views
1

Ebean ORM - это ORM для игры! Java Framework. Поскольку я делаю выбор между созданием своих собственных реляционных сопоставителей объектов и другими реляционными поведенческими шаблонами объектов и использованием ORM, критерий, который поражает меня как действительно важный, заключается в том, поддерживает ли Ebeans одновременный доступ к mappers. Действительно, хотя и играйте! использует асинхронную потоковую передачу, все равно может возникнуть проблема чтения/записи, возникающая из одновременных запросов с использованием одних и тех же объектов.Поддерживает ли Ebean многопоточность?

Следовательно, вопрос в том, поддерживает ли Ebean ORM многопоточность (проблема чтения/записи)?

ответ

4

Ebeans поддерживает одновременный доступ к картографов

EbeanServer безопасен для многократного одновременного использования да. Экземпляр EbeanServer построен и содержит все метаданные о свойствах компонента и т. Д. (Поэтому информация о сопоставлении).

EbeanServer внутренне содержит некоторые мутирующие данные, такие как кеш L2, показатели производительности для выполнения запросов, планы выполнения запросов и т. Д., Но они написаны как потокобезопасные.

В целом Объекты запроса и результаты запроса (графические объекты) не являются потокобезопасными и предназначены для однопоточного использования. Вы можете создавать графики объектов только для чтения, которые не могут быть мутированы и, следовательно, безопасны для многопоточного использования через query.setReadOnly (true).

EbeanServer также имеет поддержку для получения фоновой информации с помощью findFutureRowCount(), findFutureList() и т. Д., Который внутренне делает копию запроса и заботится о деталях. findFutureRowCount() используется внутренне как часть PagedList, чтобы получить общее количество строк.

+0

Отлично, спасибо за тщательный ответ! Где я могу найти документацию по этому вопросу? Еще раз спасибо! –

+0

Хорошо, есть http://ebean-orm.github.io/docs/ и http://ebean-orm.github.io/docs/features/l2caching. Если у вас есть вопросы об определенных функциях, то, возможно, зарегистрируйте проблему с документацией или попросите группу google или здесь (но я не всегда вижу вопросы, поднятые на SO). –

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