领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我谨代表 Spring Integration 社区宣布 Spring Integration Extension for Hazelcast 的第二个里程碑版本,其构件为 spring-integration-hazelcast.1.0.0.M2,可在 Milestone Repository 中获取。
该项目已经存在一段时间了,自上一个 Milestone 1 发布以来,活动并不算多,直到最近才获得足够的社区支持来发布新版本。所以,首先,非常感谢社区的贡献!
此 Milestone 包含的一些主要功能亮点:
如果您需要选举一个领导者(例如,用于高可用消息消费者,只有一个节点应该接收消息),您只需要创建一个 LeaderInitiator。
@Bean
public HazelcastInstance hazelcastInstance() {
return Hazelcast.newHazelcastInstance();
}
@Bean
public LeaderInitiator initiator() {
return new LeaderInitiator(hazelcastInstance());
}
然后,当一个节点被选为领导者时,它将向所有应用程序监听器发送 OnGrantedEvent。有关如何使用这些事件来控制消息端点的更多信息,请参阅 Spring Integration 参考手册。
HazelcastCacheWritingMessageHandler 现在可以通过 cacheExpression 属性在运行时解析传入的 Message 的 DistributedObject。支持的类型有 IMap、MultiMap、ITopic、ISet 或 IList。
@Bean
public IMap<Integer, HazelcastIntegrationTestUser> distMap() {
return testHzInstance().getMap("Distributed_Map1");
}
@Bean
@ServiceActivator(inputChannel = "distMapChannel")
public HazelcastCacheWritingMessageHandler hazelcastMessageHandler() {
HazelcastCacheWritingMessageHandler handler =
new HazelcastCacheWritingMessageHandler();
handler.setDistributedObject(distMap());
handler.setKeyExpression(PARSER.parseExpression("payload.id"));
handler.setExtractPayload(true);
return handler;
}
HazelcastClusterMonitorMessageProducer 允许监听集群上执行的修改。这是一个事件驱动的通道适配器,监听相关的 Membership、Distributed Object、Migration、Lifecycle 和 Client 事件。
<int-hazelcast:cm-inbound-channel-adapter
channel="monitorChannel"
hazelcast-instance="instance"
monitor-types="MEMBERSHIP, DISTRIBUTED_OBJECT" />
<bean id="instance" class="com.hazelcast.core.Hazelcast"
factory-method="newHazelcastInstance">
<constructor-arg>
<bean class="com.hazelcast.config.Config" />
</constructor-arg>
</bean>
在我们直接发布 1.0.0.RELEASE 版本之前,我们非常希望听到社区的反馈,所以,请随时通过任何可用的沟通渠道与我们联系!