Hazelcast 和 Spring 会话:REST API returns epmty 值

Hazelcast and Spring Session: REST API returns epmty values

我尝试集成 Spring Session 和 Hazelcast。我使用的是非常简单的配置:

 com.hazelcast.config.Config cfg = new com.hazelcast.config.Config();
    NetworkConfig netConfig = new NetworkConfig();
    netConfig.setPort(SocketUtils.findAvailableTcpPort());
    System.out.println("Hazelcast port #: " + netConfig.getPort());
    cfg.setNetworkConfig(netConfig);
    SerializerConfig serializer = new SerializerConfig().setTypeClass(Object.class)
            .setImplementation(new ObjectStreamSerializer());
    cfg.getSerializationConfig().addSerializerConfig(serializer);
    return Hazelcast.newHazelcastInstance(cfg);

它来自 Spring 文档示例。一切正常,但是当我尝试从 Hazelcast 获取会话时,它的 Rest APi 它 returns 空值 0curl: (52) Empty reply from server

$ curl -X GET http://localhost:port/hazelcast/rest/maps/spring:session:sessions/session-id

其中 port 是端口,用 SocketUtils.findAvailableTcpPort() 选择,session-id 是浏览器中的会话 ID。

如何使用 Hazelcast REST API 访问我保存的会话?

更新:

通过添加 cfg.setProperty("hazelcast.rest.enabled","true"); 所有问题都消失了。

您必须激活默认情况下禁用的 REST API 服务(出于安全原因)。请参阅 http://docs.hazelcast.org/docs/3.6/manual/html-single/index.html#system-properties 并搜索 hazelcast.rest.enabled