技术开发 频道

提高SOA应用的效率

    3. 挖掘应用网格潜力

    对象存储到网格之后,即可以内存Java、C++或C#对象的方式读取数据。我们还可以利用应用网格的一些高级功能,比如对内存对象数据的并行查询操作、持续查询、并行处理等。

    在本例中,我们只对网格中的数据进行一次简单的查询。列表4中的代码即是一个对所有包含"foo"的项的简单处理逻辑。

    列表4:通过应用网格执行并行查询

public Object process(Entry en) {
 Item i = (Item)en.getValue();
 if (i != null) {
  i.setComment(i.getComment() + " (modified)");
  en.setValue(i);
 }
 return i;
}
  
…and to invoke this…

//Create a filter to find items in the grid
Filter theFilter = new LikeFilter("getProductName", "%foo%");

//Pass in a filter and an operation (class)
Map result = itemCache.invokeAll(theFilter, new UpdateComment());

    4. 以事件方式执行网格处理逻辑

    通过简单的JavaBean监听器模式即可使应用网格以事件的方式运行Java逻辑——在网格中写入或读取数据时即可触发。这很像Java的读写触发器或存储流程。列表5是一个显示网格中的更新值的事件。

    列表5:网格中数据更新和提取时即触发事件

public void entryUpdated(MapEvent me) {
 Item i = (Item) me.getNewValue();
 System.out.println("Updated Item: " + i.getComment());
}

0
相关文章