Повторное использование существующего.Если вам нужен новый, объедините их.Но на самом деле не имеет смысла делать новый.И вот почему:
Когда вы делаете RF-вызов на сервер, он проходит несколько этапов, поскольку он в основном ориентирован на то, как читать и сохранять сущности, и на различные свойства значений, с которыми они работают.
- Создание или получение любых экземпляров, с которыми нужно иметь дело
- Применить сеттеры к этим экземплярам, новым или существующим, и проверить их
- Запустить вызовы службы в качестве методовВызывается для объектов, статических вызовов или вызовов служб.
Эти три шага выполняются в этом порядке, чтобы гарантировать, что объект, измененный и затем переданный вызову службы, имеет смысл, когда он туда попадает.Будущие вызовы (т. Е. Другие запросы) тогда, вероятно, не должны вносить те же самые изменения в одни и те же объекты, и если они это сделают, то они должны вносить эти изменения сами.
Данный RequestContext
состоит из всехиз этих вещей тогда.Если у вас было два запроса, и один представлял вызывающие установщики (изменения из формы), а другой - запрос на обслуживание, запуск одного означает только вызов установщиков, но не вызов службы для его сохранения, а запуск других средств.сохранить только вызов без вызова службы.
После того, как EntityProxy
был помечен как отредактированный одним контекстом запроса, попытка использовать его в другом контексте почти наверняка является ошибкой, поэтому вы видите исключение:выброшены.Используйте существующий или, если необходимо, используйте RequestContext.append
, чтобы переключиться на новый тип RequestContext
для фактического запуска операции сохранения.
RequestFactory - это не RPC - ваши объекты не просто Java Beans, ноявляются прокси-серверами (EntityProxy
или ValueProxy
) какого-либо серверного объекта, и запросы используются для асинхронной манипуляции с ними.