【发布时间】:2019-06-21 12:49:48
【问题描述】:
@Client("http://localhost:8082")我在提供的链接上的这段代码有以下声明:
/**
* TODO this is currently hard wired to something that is dynamic in command object host/port
*/
@Inject
@Client("http://localhost:8082")
RxWebSocketClient webSocketClient;
下面还有一个segment of code:
ChatClientWebSocket chatClient = webSocketClient.connect(ChatClientWebSocket.class, "/ws/process").blockingFirst();
chatClient.send(serializeMessage(msg));
理想情况下,我想根据command object 中的现有数据定义哪个客户端:
private String host;
private int port;
在上面的类中,主机端口是由这个微服务本身生成的,为了测试目的是物理绑定的,但假设它动态出现在不同的端口127.0.0.1:8083和127.0.0.1:8084等等动态主机端口怎么能声明顶部声明的内容,即
@Client("http://localhost:8082")
理想情况下,我需要做的是这样的事情 因此,客户端连接是基于当前对象主机端口定义的动态连接,而不是在页面顶部硬编码在动态发生位置之外..
@Client(cmd.getHost()+":"+cmd.getPort())
RxWebSocketClient webSocketClient;
ChatClientWebSocket chatClient = webSocketClient.connect(ChatClientWebSocket.class, "/ws/process").blockingFirst();
chatClient.send(serializeMessage(msg));
【问题讨论】:
-
“理想情况下,我想根据命令对象中的现有数据定义哪个客户端定义在代码中表示为 msg。” - 我不明白你的意思。您的代码中只有 1 个客户端,不清楚您的命令对象包含什么。
-
我已经更新了问题,希望能更有意义
标签: micronaut