Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使tcp服务器使用camel发送对客户端请求的响应,同时也向客户端发送事件_Java_Tcp_Apache Camel_Tcpserver_Enterprise Integration - Fatal编程技术网

Java 如何使tcp服务器使用camel发送对客户端请求的响应,同时也向客户端发送事件

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

我必须创建tcp服务器,该服务器将请求响应到客户端,并以固定频率将事件发送到客户端。tcp服务器代码:

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客户端。只需编写一个
套接字
并向其发送数据。这将触发你的骆驼路线。