Написание реализации GridCacheStore в Scala с gridgain - PullRequest
0 голосов
/ 05 мая 2011

Я пытаюсь написать реализацию gridgain для read-through и write-through для gridcache с использованием scala.однако у меня возникли проблемы с преобразованием некоторых шаблонов методов с использованием обобщенной формы 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 gridgain пока не так много примеров скалы.Также я могу безопасно игнорировать GridCacheTx tx, так как я не собираюсь использовать транзакции в моем приложении.

1 Ответ

2 голосов
/ 05 мая 2011

Существующие типы были созданы для этой ситуации.См. Объединение Scala и Java в бесплатной онлайн-версии Программирование на Scala .

Так что вам может потребоваться определить:

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

Я думаю, что Collection[_ <: K] также может работать.

Я также где-то читал, что абстрактные типы также могут быть использованы для решения аналогичной ситуации, но сейчас я не могу найти ссылку, поэтомуЯ не уверен, охватывал ли это этот случай или нет. edit: на самом деле он тоже в книге (пример SetAndType в следующем абзаце) .

...