我正在编写基于int-IP:TCPendpoint的客户机-服务器应用程序。用Kotlin写的代码。应用程序包含两个tcp clienst,当它们首先建立了与服务器的连接并进行了一些初始化时,它们应该按照sertain顺序一个接一个地连接到服务器。
作为这种同步的解决方案,我想使用SmartLifecyclerOleController
启动依赖tcp客户端的endpoint组。为此,在depended(第二个)客户机中,我将role=“rccluster”
和auto-startup=“false”
属性添加到tcp-outbound-channel-adapter和tcp-inbound-channel-adapter
<int-ip:tcp-connection-factory id="rcClientConnectionFactory"
type="client"
host="${tdirelay.host}"
port="${tdirelay.rcPort}"
single-use="false"
so-timeout="10000"
so-keep-alive="false"
serializer="rawSerializerDeserializer"
deserializer="rawSerializerDeserializer"
ssl-context-support="sslContext"/>
<int-ip:tcp-outbound-channel-adapter id="rcOutBoundAdapter"
channel="rcPacketQueueChannel"
phase="5000"
connection-factory="rcClientConnectionFactory"
role="rcCluster"
auto-startup="false"
/>
<int-ip:tcp-inbound-channel-adapter id="rcInboundAdapter"
channel="rcFromServer"
client-mode="true"
retry-interval="5000"
connection-factory="rcClientConnectionFactory"
role="rcCluster"
auto-startup="false"
/>
前导(第一个)tcp客户端使用拦截器endpoint根据以下协议与服务器进行序幕交换:
<bean id="dcInterceptorFactoryChain"
class="org.springframework.integration.ip.tcp.connection.TcpConnectionInterceptorFactoryChain">
<property name="interceptors">
<array>
<bean class="com.tcpclient.DirectCannel.DCConnectionInterceptorFactory">
</bean>
</array>
</property>
</bean>
<int-ip:tcp-connection-factory id="dcClientConnectionFactory"
type="client"
host="${tdirelay.host}"
port="${tdirelay.dcPort}"
single-use="false"
so-timeout="10000"
so-keep-alive="false"
interceptor-factory-chain="dcInterceptorFactoryChain"
serializer="rawSerializerDeserializer"
deserializer="rawSerializerDeserializer"
ssl-context-support="sslContext"
/>
我计划在我的拦截器类中调用SmartLifecyclerOleController
的StartLifecyclesInRole(String role)
和StoplifecyclesInRole(String role)
方法。因此,我将@Autowired private val RoleController:SmartLifecycleRoleController添加到InterceptorFactory中,正如Spring-Integration/docs中所解释的那样
我的拦截工厂是:
class DCConnectionInterceptorFactory() : TcpConnectionInterceptorFactory, ApplicationEventPublisherAware {
@Autowired
private val roleController: SmartLifecycleRoleController? = null
@Volatile
private var applicationEventPublisher: ApplicationEventPublisher? = null
override fun setApplicationEventPublisher(applicationEventPublisher: ApplicationEventPublisher) {
this.applicationEventPublisher = applicationEventPublisher
}
override fun getInterceptor(): TcpConnectionInterceptorSupport {
return DCConnectionInterceptor(this.applicationEventPublisher!!, roleController!!)
}
}
IntelliJ的想法给出警告:不能自取灭亡。未找到“SmartLifecyclerOleController”类型的bean
如果您知道如何做到这一点,请提供一个在xml配置文件中使用SmartLifecyclerOleController
类bean的实例。
首先,最好不要在那里使用@autowired
,因为不清楚在应用程序上下文中是否启用了注释配置。仅仅因为您只显示了Spring的XML配置。
因此,您的DCConnectionInterceptorFactory
应该为RoleController
属性设置一个设置器。或者在Kotlin中声明Java bean属性的正确方法是什么...
然后您需要在XML配置中使用如下内容:
<bean class="com.tcpclient.DirectCannel.DCConnectionInterceptorFactory">
<property name="roleController" ref="integrationLifecycleRoleController"/>
</bean>
我无法在spring security Integration中找到问题。我已经花了2-3天了。所以,请帮助我。 下面是我的web.xml文件 下面是我的SpringSecurityConfig.xml http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/sc
我尝试在web上搜索,但我找不到任何相关的教程或如何将JNI共享库集成到Spring Boot项目中。我想将GDAL库与一个小型的Spring Boot REST应用程序集成在一起。 有可能将JNI与嵌入式Tomcat一起使用吗? 有人能提供链接或解释如何将编译的jar和实际的库文件包含到Spring Boot项目中吗?Maven将是一个更好的构建选项,但gradle也可以工作。
本文向大家介绍如何在Spring Boot应用程序中实现Spring安全性?相关面试题,主要包含被问及如何在Spring Boot应用程序中实现Spring安全性?时的应答技巧和注意事项,需要的朋友参考一下 实施需要最少的配置。您需要做的就是spring-boot-starter-security在pom.xml文件中添加starter。您还需要创建一个Spring配置类,它将覆盖所需的方法,同时
问题内容: 我有一个使用Spring Batch和Spring MVC的应用程序。我可以将Spring Batch Admin单独部署,并与我的应用程序使用的数据库一起使用,尽管我想将其集成到我自己的应用程序中,还可能会修改其中一些视图。 有没有简单的方法可以做到这一点,还是我必须将其分叉然后从那里去? 问题答案: 根据这个线程显然有一个简单的方法; 在以下位置为Batch Admin定义Disp
我在Tomcat中删除了war文件。 并访问http://localhost:8080/camel-example-servlet-rest-tomcat/api-docs,我得到了这个... {“apiVersion”:“1.2.3”,“swaggerVersion”:“1.2”,“api”:[{“path”:“/User”,“description”:“User rest service”}]
我有一些C语言的遗留程序,它们基于输入文件工作,结果进入输出文件。这两个文件都在程序参数中指定。因此,调用如下所示: 根据Artem Bilan的建议,我用下面的Spring配置文件创建了这个项目。它可以调用可执行文件!然而,我仍然存在出站通道的问题。首先,它不包含任何内容,我得到错误“不支持的消息负载类型”。其次,更重要的是,我需要用Java程序处理输出文件a.out。组织此工作流的最佳方式是什