gpt4 book ai didi

java - 配置 Hazelcast java 客户端以使用用户定义服务需要什么?

转载 作者:太空宇宙 更新时间:2023-11-04 10:20:29 27 4
gpt4 key购买 nike

我有一个用户定义的服务,是按照 Hazelcast 文档第 24 章创建的,但他们从未提及让客户端能够使用 Hazelcast 客户端实例的 getDistributedObject 方法访问分布式对象所需的内容。我的 xml 配置只是添加了序列化的默认(非常空白)xml。这是我使用 hazelcast 节点配置的服务的配置:

<services enable-defaults="true">
<service enabled="true">
<name>MapManagerService</name>
<class-name>com.ctl.hzl.service.MapManagerService</class-name>
</service>
</services>

我正在使用 Hazelcast-client-3.10.1 和 Java 1.8。除了 xsi 文档之外,我找不到任何格式指南,该文档很有用,但并没有真正告诉我需要包含哪些内容来支持我的服务。我在一次尝试中收到一条错误消息,其中提到了某种服务工厂,我认为这一定是我所需要的,但我一直无法找出它需要什么。这是架构位置(如果有帮助的话)。提前致谢。

xsi:schemaLocation="http://www.hazelcast.com/schema/client-config
http://www.hazelcast.com/schema/config/hazelcast-client-config-3.10.xsd">

最佳答案

TLDR;目前无法从客户端访问用户定义的类。这个领域需要做更多的工作来使这个过程变得用户友好。

这是在这里回答的补充: How to write client proxy for SPI and what the difference between client and server proxies?

如何通过xml配置服务:

<hazelcast-client>
<proxy-factories>
<proxy-factory class-name="com.hazelcast.examples.ProxyXYZ1" service="sampleService1"/>
<proxy-factory class-name="com.hazelcast.examples.ProxyXYZ2" service="sampleService1"/>
<proxy-factory class-name="com.hazelcast.examples.ProxyXYZ3" service="sampleService3"/>
</proxy-factories>
</hazelcast-client>

请求和响应(称为编解码器)类是通过称为 hazelcast 客户端协议(protocol)的不同项目生成的。客户端协议(protocol)项目中的 Readme.md 应该可以帮助您创建自己的协议(protocol)。 https://github.com/hazelcast/hazelcast-client-protocol

还有一个更重要的部分是在服务器上实现并注册消息任务。消息任务处理来自客户端的请求。不幸的是,这部分还不够完善,不足以使其对 SPI 用户友好。消息任务示例如下: https://github.com/hazelcast/hazelcast/blob/master/hazelcast/src/main/java/com/hazelcast/client/impl/protocol/task/map/MapPutMessageTask.java

关于java - 配置 Hazelcast java 客户端以使用用户定义服务需要什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51217975/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com