当前位置: 首页 > 知识库问答 >
问题:

在维护以前的功能的同时扩展Spring集成?

羊昊苍
2023-03-14

因此,我是Spring集成的新手,主要也是Spring的新手,所以我可能不熟悉所有术语,但我遇到了以下场景:

我有一个带有三个SI流的小型Spring集成应用程序。。。每个流都有自己的网关,每个网关都有自己的请求通道和应答通道。这些流接收一个空调用(用于所有密集用途…基本上只是一个“GO”信号/空消息),并根据(琐碎的)业务逻辑结果用状态消息进行回复。

现在,我想将这些流连接在一起,在一个“主流”中运行,给定一个请求,而不剥夺它们单独运行的能力,并且我想完全通过annotation/XML将其连接起来(即,如果控制器调用主网关的服务接口,则无需在注释/XML配置之外编写其他代码。)

这是否可行,我应该使用什么集成组件来实现这一点,和/或我应该调整每个网关的预期通道,以实现彼此的端到端连接(如果可行,该策略将如何补偿以允许每个流在个案基础上被调用)?

此外,如果这不可行,那么使用服务激活器调用每个子流是否合适?我想避免编写更多的代码,但如果这是唯一的选择,我想它将不得不这样做。

谢谢

共有1个答案

方高丽
2023-03-14

可能最简单的方法是使用Spring Profile(Spring 3.1特性)。当以独立模式部署时,最后一个元素可以是“无处可去的桥梁”...

<int:bridge input-channel="app1Final" />

... 当流中的最后一个元素没有输出通道时,消息将返回到网关的应答通道。如果您喜欢显式地将网桥配置为指向网关的应答通道,也可以;只是不需要。

在“链接”配置文件中,您将桥配置为。。。

<int:bridge input-channel="app1Final" output-channel="app2Inbound"/>

...其中App2InBond与该应用的网关的请求通道相同。

<beans profile="default">
    <int:bridge input-channel="app1Final" />
</beans>

<beans profile="linked">
    <int:bridge input-channel="app1Final" output-channel="app2Inbound"/>
</beans>

要使用链接的配置文件运行,请设置系统属性“spring”。简介。“活动”到“链接”

 类似资料:
  • Weex 提供了扩展机制,可以根据自己的业务进行定制自己的功能。 主要分为两类扩展: Module 扩展 非 UI 的特定功能。例如 sendHttp、openURL 等。 Component 扩展 实现特别功能的 Native 控件。例如:RichTextview,RefreshListview 等。 Adapter 扩展 Weex 对一些基础功能实现了统一的接口,可实现这些接口来定制自己的业务

  • 注意:Weex 所有暴露给 JS 的内置 module 或 component API 都是安全和可控的,它们不会去访问系统的私有 API,也不会去做任何 runtime 上的 hack 更不会去改变应用原有的功能定位。 如果需要扩展自定义的 module 或者 component ,一定注意不要将 OC 的 runtime 暴露给 JS ,不要将一些诸如 dlopen(), dlsym(), r

  • 实现点击工具栏中“+”号扩展区域内添加自定义事件,比如添加“最近订单”、“最近商品”: 注:图片需要添加到SDK中对应bundle资源文件中 /** @return 扩展内容 例如: @[@{@"picName": @"图片-(1)",@"highLightPicName": @"图片hover",@"name": @"图片1"}, @{@"picName": @"图片-(1)",@"highLi

  • SDK对外开放了一个可自定义的协议NtalkerChatDelegate,如果客户想进行自定义实现接口,必须遵守此协议,初始化小能类的时候设置其delagate为实现代理接口方法的类,然后实现相应的接口。其中提供了以下几个接口: 深度自定义控件接口,详细调用细节,请参照demo。 一、自定义消息发送 二、查询历史咨询列表 三、设置超媒体自定义参数 四、+号功能区的扩展功能 五、商品条自定义 六、设

  • 一、发送文本消息到聊窗内 二、返回按钮的点击监听 三、结束会话按钮的点击监听 四、超媒体点击事件的监听 五、+号功能区的扩展功能 六、商品条自定义 七、导航栏自定义

  • QueyList是完全模块化的设计,拥有强大的可扩展性。 使用bind()方法绑定一个功能函数到QueryList对象,实现轻量级的功能扩展。bind()方法的第一个参数是绑定的函数名,第二个参数是一个匿名的功能函数,这个功能函数的$this对象指向的是当前的QueryList实例对象,所以在这个功能函数中可以直接通过$this来调用QueryList的方法。 例子 注册一个自定义的http网络操