public static class Oya {
String name;
public Oya(String name) {
super();
this.name = name;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "Oya [name=" + name + "]";
}
}
public static void main(String[] args) throws GridException {
try (Grid grid = GridGain.start(
System.getProperty("user.home") + "/gridgain-platform-os-6.1.9-nix/examples/config/example-cache.xml")) {
GridCache<Integer, Oya> cache = grid.cache("partitioned");
boolean success2 = cache.putxIfAbsent(3, new Oya("3"));
log.info("Current 3 value = {}", cache.get(3));
cache.transform(3, (it) -> new Oya(it.name + "-transformed"));
log.info("Transformed 3 value = {}", cache.get(3));
}
}
- 別の GridGain ノードを開始します。
- コードを実行します。次のように出力されます。
3-transformed
- コードをコメントし
putxIfAbsent()
ます。 - コードを実行します。印刷されると思っていましたが、代わりに
3-transformed
取得しましたnull
キャッシュ値をString
( GridGain 基本操作のビデオのように) または Java 組み込み値に変更すると、コードは機能しますが、独自のカスタム クラスでは機能しません。