Должен ли я объявить GryoMapper как статическое поле? - PullRequest
0 голосов
/ 05 апреля 2019

Посмотрите на следующий код, он кажется поточно-ориентированным.

https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java

Надеемся использовать его как

class Foo {
    private static final GryoMapper MAPPER = GryoMapper.build().create();
}

вместо


class Foo {
    private final GryoMapper MAPPER = GryoMapper.build().create();
}


1 Ответ

1 голос
/ 08 апреля 2019

Gryo основан на Kryo, который не является поточно-ориентированным .GryoMapper в основном просто компоновщик для Kryo экземпляров, что означает, что вы должны иметь возможность инициализировать его как переменную-член без объявления static.Просто убедитесь, что экземпляры Kryo, которые вы создали из GryoMapper, не доступны нескольким потокам одновременно, как описано в приведенной ссылке Kryo.

...