Java 如何使tcp服务器使用camel发送对客户端请求的响应,同时也向客户端发送事件
我必须创建tcp服务器,该服务器将请求响应到客户端,并以固定频率将事件发送到客户端。tcp服务器代码:Java 如何使tcp服务器使用camel发送对客户端请求的响应,同时也向客户端发送事件,java,tcp,apache-camel,tcpserver,enterprise-integration,Java,Tcp,Apache Camel,Tcpserver,Enterprise Integration,我必须创建tcp服务器,该服务器将请求响应到客户端,并以固定频率将事件发送到客户端。tcp服务器代码: from("netty:tcp://localhost:7100?sync=true&allowDefaultCodec=false&encoder=#stringEncode&decoder=#stringDecode") .to("bean:echoService"); 当服务器必须从客户端向消息发送响应时,调用EchoServic
from("netty:tcp://localhost:7100?sync=true&allowDefaultCodec=false&encoder=#stringEncode&decoder=#stringDecode")
.to("bean:echoService");
当服务器必须从客户端向消息发送响应时,调用EchoService bean代码
@Service
public class EchoService {
public String sayHello(Object guestName) {
System.out.println("Input guestName : "+ guestName);
return "Hello " + guestName;
}
}
我还有另一个MessageService bean,它以固定的频率发送Hi消息。我想将这个bean集成到我的服务器上,这样我就可以向客户端发送“Hi”消息
@Service
public class MessageService {
public String sayHi() {
System.out.println("sending hi : ");
return "Hi ";
}
}
我无法决定如何将MessageService bean“hi”msg与tcp服务器集成以发送tcp客户端。PS:-我是camel的新手。您希望将事件发送到客户端。客户端如何使用事件?它是在监听tcp端口、jms队列还是什么。同样,调用你的MessageService的东西,你说它以固定的频率发送“Hi”。没有“向客户端发送事件”这样的sich。您可以发送给客户端的只是数据。不清楚您在问什么。@Gautam。客户端正在侦听端口7100 tcp连接。我正在使用Spring调度程序在发送消息给客户端frequency@EJP这里的事件表示服务器将在7100端口向客户端发送消息,客户端将只使用该端口。这将在spring调度程序的基础上触发,spring调度程序将消息发送到固定客户机frequency@UchihaObito从这里我了解到,
MessageService
实际上是客户机。您的camel模块实际上是一个侦听端口7100的服务器。Camel模块有一条监听端口7100、netty组件的路由,您希望将其发送到EchoService
。然后在MessageService
中,您需要实现一个tcp客户端。只需编写一个套接字
并向其发送数据。这将触发骆驼路由。您希望将事件发送到客户端。客户端如何使用事件?它是在监听tcp端口、jms队列还是什么。同样,调用你的MessageService的东西,你说它以固定的频率发送“Hi”。没有“向客户端发送事件”这样的sich。您可以发送给客户端的只是数据。不清楚您在问什么。@Gautam。客户端正在侦听端口7100 tcp连接。我正在使用Spring调度程序在发送消息给客户端frequency@EJP这里的事件表示服务器将在7100端口向客户端发送消息,客户端将只使用该端口。这将在spring调度程序的基础上触发,spring调度程序将消息发送到固定客户机frequency@UchihaObito从这里我了解到,MessageService
实际上是客户机。您的camel模块实际上是一个侦听端口7100的服务器。Camel模块有一条监听端口7100、netty组件的路由,您希望将其发送到EchoService
。然后在MessageService
中,您需要实现一个tcp客户端。只需编写一个套接字
并向其发送数据。这将触发你的骆驼路线。