2010-04-01 3 views
0

ServletA:GAE исключения сделки

  • извлекает в запросе набор объектов (около 2000 г.), а затем запускает функцию веса, чтобы выбрать один объект и обновить его.
  • все, что находится в пределах так операциям Устанавливается вы получите исключение, если объекты были изменены

ServletB:

  • каждый объект обновляется каждые 15 секунд с помощью робота клиентов

Таким образом, набор записей, который был восстановлен в ServletA, обновляется каждые 2000/15 = 133 millsec.
Удастся ли обновить объект без перерывов?

+0

Я мог бы разделить объект на два объекта, один из которых был изменен servletA и один на servletB, и иметь транзакцию только в servletA ... Я бы хотел, чтобы GAE могла определять приложения, которые могут работать только на одной виртуальной машине - не все приложения являются глобальными! – bach

+0

Ожидаете ли вы, что эта ситуация произойдет в вашем реальном приложении? Возможно, вам стоит взглянуть на защиту DoS: http://code.google.com/appengine/docs/java/config/dos.html –

+0

. Получайте обновление от робота-клиента каждые 15 секунд тривиально для многих приложений (финансовые например) – bach

ответ

1

ServletA будет выдавать исключение только в том случае, если выбранная «лучшая» комната была обновлена ​​после того, как она была извлечена из хранилища данных, прежде чем она была сохранена.

Если какой-либо из других объектов 1999 года был изменен, это не имеет значения, поскольку вы вообще не изменяете их.

+0

это хорошие новости. большое спасибо Джейсону! – bach

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