使用gridgain在scala中编写GridCacheStore实现

时间:2011-05-05 03:10:48

标签: scala gridgain

我试图使用scala为gridcache编写一个gridgain实现读写和直写。但是我很难将使用泛型的一些方法模式从java(这是它的写入)转换为scala。

有问题的java doc: http://www.gridgain.com/javadoc30C/org/gridgain/grid/cache/GridCacheStore.html

具体地

loadAll(String cacheName, GridCacheTx tx, Collection<? extends K> keys, GridInClosure2<K,V> c)

我遇到了麻烦

Collection<? extends K> keys
因为我不知道如何在scala中做到这一点。因此,如果任何人都可以向我展示在scala中执行此操作的最佳方法,那将是非常棒的。不幸的是,令人敬畏的网格javadocs还没有像scala例子那么多。我也可以安全地忽略GridCacheTx tx,因为我不会在我的应用程序中使用事务。

1 个答案:

答案 0 :(得分:2)

为这种情况创建了存在类型。现在免费在线第一版 Scala编程中的Combining Scala and Java

所以你可能需要定义:

def loadAll(cacheName: String, tx: GridCacheTx, 
  keys:Collection[T] forSome {T <: K}, 
  c: GridInClosure2[K,V])

我认为Collection[_ <: K]也可能有用。

我还在某处读过抽象类型也可用于处理类似的情况,但我现在找不到链接,所以我不确定它是否涵盖了这种情况。 编辑:实际上它也在书中(下一段中的SetAndType示例)