当前位置: 首页 > 知识库问答 >
问题:

Hazelcast 5.1 Nearcache服务器-客户端(未找到连接)

权承
2023-03-14

关于:Hazelcast远程缓存服务器-客户端Spring Boot

我也有同样的问题,但对于hazelcast 5.1和java 17:

ClientConfig clientConfig = new ClientConfig();
clientConfig.getConnectionStrategyConfig()
    .setReconnectMode(ClientConnectionStrategyConfig.ReconnectMode.ASYNC)
    .getConnectionRetryConfig().setClusterConnectTimeoutMillis(Integer.MAX_VALUE)
    .setClusterName("cluster_name")
    .addNearCacheConfig(new NearCacheConfig("countries"));
clientInstance = HazelcastClient.newHazelcastClient(clientConfig);

和用法:

var task = new TimerTask() {
    @Override
    public void run() {
        try {
            Map<Integer, Country> countries = clientInstance.getMap("countries");
            if (countries.isEmpty()) {
                System.out.println("Map countries is empty");
            } else {
                for (Integer key : countries.keySet()) {
                    System.out.println("Name: " + countries.get(key).title());
                }
            }
        } catch (Exception ex) {
            System.err.println(ex.getMessage());
        }
    }
}
timer.scheduleAtFixedRate(task, 0, TimeUnit.SECONDS.toMillis(5));

国家类是:

public record Country(Integer id, String title) implements Serializable {
}

与活动服务器和客户端的通话是正常的,但当我关闭服务器时,我得到了:

没有找到到集群的连接

第5版中有更改或我的配置错误?

谢谢

共有1个答案

张俊茂
2023-03-14

发现不是任何方法都可以与远程缓存一起使用:is空()keySet()将始终不返回任何连接,因为这些方法不是代理对象方法。所以我可能会在这里使用getAll()get()方法。

 类似资料:
  • 下面是我的服务器代码: 下面是我的客户端活动代码: 以下是客户端活动的xml布局文件: 因此,我开始认为这不是连接端口的问题,而是应用程序的android客户端的问题。但我想不出有什么问题。 顺便说一下,当我试图发送消息时,运行客户端的手机和运行服务器的笔记本电脑都连接到了同一个网络。

  • 我有一个示例Spring启动应用程序来运行图形QL服务器,具有作为客户端,我的pom有以下依赖项: 当我尝试从客户端连接时,出现以下错误: 狩猎决议好心建议。 我还有几个问题: 我应该使用SimpleGraphQLHttpServlet将请求路由到endpoint吗 我正在React UI上使用apollo client,那么它是强制使用apollo server还是spring boot可以工作

  • 客户端应用程序在以下代码处挂起:

  • 所有的 我正在尝试连接到Oracle 19C数据库。我安装了两个Oracle客户端(11g和12c),因为我们需要支持遗留程序。我可以通过12c客户端与使用sqlplus的任何用户连接,没有问题。但是如果我与任何用户一起使用11g(11.2.0)客户端。我总是得到: 两个客户端都有完全相同的sqlnet。ora和tnsnames。ora文件,因此两个客户端都指向同一个数据库。 有什么想法吗?我是否

  • websocket客户端(使用Autobahn/Python和Twisted)需要连接到websocket服务器:客户端需要向服务器提供其客户端证书,客户端需要检查服务器的证书。例如,这些证书是在Kubernetes minikube安装过程中创建的。特别地: 服务器证书(据我所知为X509格式) 客户端证书~/。minikube/客户。按键 我已经检查过,我可以成功地使用这些证书密钥使用发出库伯