从Hazelcast和Spring Boot开始

时间:2017-11-08 22:32:01

标签: spring-boot hazelcast


我刚刚开始使用hazelcast,我正试图用弹簧启动1.5.8进行POC。

我想要做的是创建一个Spring启动应用程序,我在其中创建了一个Config bean,因为我在类路径上有hazelcast jar,spring确实为我创建了一个hazelcast实例,我用过它并创建了一个IMap并在地图中添加了一些测试值

  1. 根据我的理解,我认为我需要一个hazelcast客户端来访问分发地图。
  2. 所以,我做的是,我创建了一个ClientConfig类型的bean,我希望spring给我一个HazelcastClient类型的“HazelcastInstance”,但我不认为我会得到它。
  3. 关于如何在同一个应用程序中运行hazelcast成员和客户端的任何指针?

    .Thanks

1 个答案:

答案 0 :(得分: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,因此服务器在客户端之前启动。