默认情况下,安装Openfire Hazelcast插件后
<ssl enabled="false"/>
在其配置文件中。我试图启用它打破了群集和Openfire日志说
java.lang.IllegalStateException: SSL/TLS requires Hazelcast Enterprise Edition
这是正确的,所以没有办法让Hazelcast插件使用SSL进行Openfire节点之间的通信吗?
假设Hazelcast Enterprise API是Hazelcast API的扩展,它可能就像重新编译具有不同Hazelcast依赖性的Openfire Hazelcast插件一样简单。
我做了一个快速测试。在交换the dependency on Hazelcast并依赖于'enterprise'变体后,插件编译得很好,就像这样(你的版本号可能会有所不同):
<dependencies>
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-enterprise</artifactId>
<version>3.10.6</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>hazelcast</id>
<url>https://dl.bintray.com/hazelcast/release/</url>
</repository>
</repositories>
大多数Hazelcast配置都可以在已经作为Openfire中的独立文件访问的XML文件中完成。很有可能您不需要任何代码修改就可以按照您想要的方式配置内容。
我不确定之前是否尝试过此操作但您可以尝试以下操作:
plugins
文件夹中。我不确定Openfire的内部结构,但是如果存在maven配置来导入Hazelcast,那么修改它以加载Hazelcast企业。或者,如果没有其他工作,那么尝试将Hazelcast罐子从hazelcast-enterprise.jar
重命名为hazelcast.jar
。conf/hazelcast-local-config.xml
以配置许可证密钥和安全性详细信息SSL。以下是Hazelcast插件的Openfire文档链接:https://www.igniterealtime.org/projects/openfire/plugins/2.4.0/hazelcast/readme.html#config
如果有效,请在这里更新。
Hazelcast的开源版本中不包含对TLS / SSL的支持,因为错误消息表明它是Enterprise Edition功能集的一部分。
正确的是,购买企业版对我来说无济于事。 Openfire的Hazelcast(开源)插件由Ignite Realtime的人员维护。它们仅支持特定版本的Hazelcast。