我正在编写一个小应用程序来检查openshift上几个spring特性的功能和配置。你可以在这里找到代码:https://github.com/Laures/openshift-spring-testapp目前我尝试测试spring-integrationstcp/ip支持,因为openshift对绑定(bind)到端口的能力有一些严格的限制。服务器套接字部分很简单:选择一个允许的端口并使用内部服务器ip(不是本地主机)。我在客户端部分失败了。我想使用我的公共(public)dns条目打开一个tcp连接以连接到我的服务器。据我所知(下面的堆栈跟踪)我的应用程序无法为到我的服务器的传出连
我正在为TCP服务器使用SpringIntegration,它与几千个客户端保持连接。我需要服务器在负载过大的情况下限制客户端并且不丢失消息。我的服务器配置:由于连接工厂的默认任务执行器是无限的,我使用池化任务执行器来防止内存不足错误。用于负载测试的简单客户端:publicclassTCPClientTest{staticSocketsocket;staticListsl=newArrayList();staticDataOutputStreamout;publicstaticvoidmain(String[]args)throwsException{for(inti=0;i当我运行它
我在TCP网关上构建的SpringIntegration应用程序运行良好。它接收到达TCP网关的请求消息,并将消息转发给serviceActivator以准备响应,并将响应发送给客户端。我想在发送给客户端后将消息保存到数据库中。我只是想知道是否可以在将响应发送给客户端后将消息转发给另一个serviceActivator。如果是,应该如何设置Spring配置?在这方面,我将不胜感激。这是spring上下文文件:谢谢 最佳答案 您可以添加作为output-channel为此.其中一个订阅者是存储对数据库的回复。另一个订阅者应该是没有ou
现状在linux服务器上,几个jar正在使用套接字运行-监听和响应字符串消息在wildfly应用程序服务器中运行的新war正在将请求委托(delegate)给这些套接字WAR正在使用spring,尤其是spring与注解的集成我有一个包含服务@Configuration/@EnableIntegration/@IntegrationComponentScan的配置类我已经创建了一个消息传递网关@MessagingGateway(defaultRequestChannel="testGateway")publicinterfaceTestGateway{publicFuturesendM
我正在创建一个简单的springboot应用程序(PoC),以使用Spring集成TCP通过套接字将产品ID(字符串)从客户端发送到服务器。如果服务器收到正确的产品数据,服务器将返回我需要打印的产品详细信息。只需要建立连接并通过发送适当的数据来获得响应。请告诉我应该实现哪些类?出站/入站网关、消息channel、tcplisteners?我应该使用xml配置还是注释?我是SI的新手,如果你能给我一个关于如何实现它的想法,我会很有帮助。这是我更新的集成xml。但这仍然会打印回显结果。此外,当我从主类调用abstractClientConnectionfactory上的getHost时,它
有谁知道使用Spring的tcp-inbound-channel-adapterCLIENT示例的简单示例?我想创建一个简单的TCP客户端,它向服务器发送一个短字符串,只接收一个字节作为应答,然后关闭套接字。这是我的bean定义:所以,我从我的主要方法中以这种方式使用它:....SimpleGatewaygateway=(SimpleGateway)context.getBean("gw2");Stringresult=gateway.send("foo");....于是客户端向服务器发送"foo"+/r/n。在服务器端,我收到此消息,服务器仅响应客户端一个字节,(06H)而没有/r/
我应该如何实现服务激活器来读取特定数量的字节?我的context.xml,我的消息处理程序,packagecom.spring.integration.tcp;importjava.io.InputStream;importjava.util.Arrays;publicclassMessageHandler{publicbyte[]receiveAndSend(finalInputStreaminputStream)throwsException{intbytesToRead=50;finalbyte[]requestMessageBytes=newbyte[bytesToRead];
我正在尝试创建一个接受入站连接的Tcp服务器,并异步向连接的客户端发送消息。有一个Tcp服务器的例子,但是它使用的是网关,是请求/响应,不支持异步。我的目标,服务器监听套接字,例如9000一个tcp客户端连接到9000服务器接受连接并接收消息。(使用TcpReceivingChannelAdapter?)服务器保持连接/套接字并记下ip_connectIdheader。当某个事件或计划任务为客户端生成消息时,它会查找ip_connectId并向该客户端发送消息。(使用TcpSendingMessageHandler?)根据引用文档,我应该使用CollaboratingOutbounda
我已经使用spring集成编写了tcp服务器。感谢优秀samplehttps://github.com/spring-projects/spring-integration-samples/tree/master/basic/tcp-client-server如果用户在控制台上按下q,示例服务器将停止。TCP服务器是一个独立的应用程序,可以完美地接受请求和发送响应。我想添加服务器的有序关闭,因为如果服务器作为后台进程启动,则无法访问控制台。有没有办法让服务器等待事件?如果关闭事件来了,那么我可以调用applicationContext.stop()。如果您能就有序关机过程提出任何想法,
我的基于spring集成的TCP服务器运行良好。如果服务需要很长时间,它还会处理服务器的回复超时。当服务花费的时间比设置的回复超时时间长时,它会将消息发送到错误channel,错误channel又将错误消息发送回客户端。这是我的代码:publicclassMyTransformer{privatestaticLoggerlogger=Logger.getLogger(MyTransformer.class);publicStringtransform(org.springframework.integration.handler.ReplyRequiredExceptione){log