【问题标题】:Starting with Hazelcast and Spring Boot从 Hazelcast 和 Spring Boot 开始
【发布时间】:2017-11-10 00:35:08
【问题描述】:


我刚刚开始使用 hazelcast,并且正在尝试使用 spring boot 1.5.8 进行 POC。

我首先要做的是创建一个 Spring Boot 应用程序,在该应用程序中我创建了一个 Config bean,并且由于我在类路径上有 hazelcast jar,所以 spring 确实为我创建了一个 hazelcast 实例,我已经使用过并创建了一个 IMap 并在地图中放入了一些测试值

  1. 据我了解,我认为我需要一个 hazelcast 客户端才能访问分发地图。
  2. 所以,我所做的是,我创建了一个 ClientConfig 类型的 bean,我希望 spring 给我一个 HazelcastClient 类型的“HazelcastInstance”,但我认为我没有得到。

关于如何在同一个应用程序中运行 hazelcast 成员和客户端的任何指示?

.谢谢

【问题讨论】:

  • 如果在同一个应用程序中,为什么要创建一个ClientConfig而不使用已有的IMap?
  • 你说得对,我确实在考虑这个问题,但正如我所说,我还在想 hazelcast 所以,我认为无论如何你总是需要一个客户。但是,是的,我可以尝试在不同的机器上运行不同的成员,让他们更新并从 dist 地图中检索,并测试我想尝试的按时间驱逐功能。谢谢!

标签: spring-boot hazelcast


【解决方案1】:

试试

@Bean
public ClientConfig clientConfig() throws Exception {
        return new XmlClientConfigBuilder("hazelcast-client.xml").build();
}
@Bean
public Config config() {
    return new ClasspathXmlConfig("hazelcast.xml");
}
@Bean(name="server")
public HazelcastInstance server(Config config) {
    return Hazelcast.newHazelcastInstance(config);
}
@Bean(name="client")
@DependsOn("server")
public HazelcastInstance client(ClientConfig clientConfig) {
    return HazelcastClient.newHazelcastClient(clientConfig);
}

和访问

@Autowired
@Qualifier("server")
private HazelcastInstance server;
@Autowired
@Qualifier("client")
private HazelcastInstance client;

您需要@Depends,以便服务器在客户端之前启动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多