Сеанс клиента Toplink - PullRequest
       6

Сеанс клиента Toplink

0 голосов
/ 07 декабря 2009

Есть ли способ получить доступ к объекту одного сеанса клиента из другого сеанса клиента?

Ответы [ 2 ]

1 голос
/ 26 апреля 2010

Если вы не изолировали свои сущности от клиентской сессии (ClassDescriptor.setIsIsolated), то ClientSession фактически не содержит никаких экземпляров сущности. Поэтому, если вы не отключили кэширование, все запросы к ClientSession будут возвращать одни и те же экземпляры сущности.

Если у вас есть изолированные сущности или вы на самом деле используете UnitOfWork, вам нужно будет получить значение из удерживающего UnitOfWork / IsolatedClientSession. Не рекомендуется обращаться к UnitOfWork или ClientSession одновременно с несколькими потоками.

0 голосов
/ 26 апреля 2010

Я не уверен, что получу то, что вы пытаетесь достичь, но, согласно Сеансам сервера и клиента из Руководства разработчика TopLink, вы не должны разделять сеанс клиента между несколькими потоками:

Хотя клиентские сеансы являются поточно-ориентированными, не используйте их для записи в несколько потоков. Многопоточные операции записи из одного сеанса клиента могут привести к ошибкам и потере данных. Для получения дополнительной информации см. «Параллелизм» .

Не могли бы вы уточнить, зачем вам это нужно?

...