最近看了很多 gwt 请求工厂的例子,但仍然找不到完整的图片:
GWT 请求工厂的最佳选择是 CRUD(创建/读取/更新/删除)。话说回来:
- 即使在“更新”情况下,我也不清楚谁负责触发 EntityProxyChange(事件)
我在某处(忘记在哪里)读到客户端请求工厂保留它“看到”的 EntityProxy 的本地缓存,并且,如果它“看到”一个新缓存,那么它会触发一个 EntityProxyChange(事件)
这是否意味着,如果我的“updatePerson()”方法返回一个(新更新的)PersonProxy,那么本地客户端请求工厂基础设施是否“看到”这个新更新的人(即,凭借其更新的 versionId)然后它会自动触发 EntityProxyChange (Event) 吗?
- 在“删除”的情况下,假设我在请求上下文中创建了一个名为“deletePerson()”的函数,我了解请求是如何到达服务器的,并且可以执行例如 SQL DELETE 来删除实体,但是,谁负责触发 EntityProxyChange (Event) w/WriteOperation=DELETE ?这些事件会在服务器端触发吗?客户端?
我已经查看了 listwidget 示例(http://code.google.com/p/listwidget),但是,在“itemlist”删除时,它有点“作弊”,只需对整个文件进行蛮力刷新列表(尽管我确实理解该细节不一定是列表小部件首先要说明的);我本来希望看到一个 EntityProxyChange (Event) 处理程序来侦听 WriteOperation.DELETE 事件,然后只从 ListDataProvider 中删除该实体。
ServiceLayer/ServiceLayerDecorator.isLive() 是否会影响这些?