如何实现 Spring XD 接收器?

2024-04-26

到目前为止,我已经实现了 Spring XD 处理器,例如像这样:

@MessageEndpoint
public class MyTransformer 
{

   @Transformer( inputChannel = "input", outputChannel = "output" )
   public String transform( String payload )
   {
      ...
   }
};

但是,我现在坚持实施自定义接收器。当前的文档不是很有帮助,因为它只是通过 XML“神奇地”配置了一些东西:

<beans ...>

    <int:channel id="input" />

    <int-redis:store-outbound-channel-adapter
        id="redisListAdapter" collection-type="LIST" channel="input" key="${collection}" auto-startup="false"/>

    <beans:bean id="redisConnectionFactory"
        class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <beans:property name="hostName" value="${host}" />
        <beans:property name="port" value="${port}" />
    </beans:bean>

</beans>

这将使用 redis store-outbound-channel-adapter 作为接收器。但是,文档并没有告诉我如何创建一个简单的通用接收器,该接收器仅具有一个输入通道并使用一条消息。

那么有人可以为我提供一个最小的工作示例吗?


接收器就像处理器一样,但没有输出通道;用一个@ServiceActivator调用您的代码(应该有一个void返回)。

@MessageEndpoint
public class MyService  
{

    @ServiceActivator( inputChannel = "input")
    public void handle( String payload )
    {
        ...
    }

};

EDIT

对于来源,有两种类型:

轮询(从源拉取消息):

@InboundChannelAdapter(value = "output", 
        poller = @Poller(fixedDelay = "5000", maxMessagesPerPoll = "1"))
public String next() {
    return "foo";
}

消息驱动(源推送消息):

@Bean
public MySource source() {
    // return my subclass of MessageProducer that has outputChannel injected
    // and calls sendMessage
    // or use a simple POJO that uses MessagingTemplate.convertAndSend(foo)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何实现 Spring XD 接收器? 的相关文章

  • 从 java servlet 运行长进程的最佳方法是什么?

    我想问从 java servlet 运行长进程的最佳方法是什么 我有一个网络应用程序 当客户端发出请求时 它会运行一个 servlet 该 servlet 应该从请求中获取一些参数 然后运行一个进程 这个过程可能需要很长时间 所以我需要单独
  • 如何将json从android发送到php?

    为了将 json 从 android 发布到 php 我使用了 Volley 库StringRequest目的 StringRequest sr new StringRequest Request Method POST url new R
  • 关于Java中trim()方法的查询

    我之前提出了一个问题 但遭到了严厉的批评 所以我在这里再次提出 更简单 并重新措辞以吸引那些可能担心我之前提出问题的方式的人 背景 我正在解析一些 HTML 以获取信息 我将所有内容隔离在一系列行中 但我希望抓取的内容以及后面的一堆空格 为
  • 我收到异常: java.lang.IllegalStateException: getOutputStream() 已被调用用于此响应

    我想编写代码来下载保留在我的系统中的文件 这是我的代码 在控制器类中 我有以下映射 RequestMapping value processFile method RequestMethod POST public ResponseBody
  • C# 到 Java:Base64String、MemoryStream、GZipStream

    我有一个在 NET 中压缩的 Base64 字符串 我想将其转换回 Java 中的字符串 我正在寻找一些与 C 语法等效的 Java 语法 特别是 Convert FromBase64String 内存流 压缩流 这是我想要转换的方法 pu
  • Java - Servlet 的默认 contentType

    在servlet中 通常我们会指定一个contentType 然后我们就可以打印出html代码了 response setContentType text html PrintWriter out response getWriter 如果
  • 动态元素 ID 到 setId(int) - Android

    我看到了语法定义setId int and findViewByID int 但我们如何使用findViewById R id row1 我尝试使用这个 Object1 setId Integer parseInt repeat 它没有显示
  • 无法在IntelliJ IDEA中编译和运行java代码

    使用 IntelliJ IDEA 版本 12 1 6 我想运行 Horstmann Core Java 书中的示例 public class Welcome public static void main String args Strin
  • Java俄罗斯方块旋转

    我知道这个问题已经被问了很多 但我想知道如何旋转俄罗斯方块 我已经做了一个又长又糟糕的解决方案 大约 170 行代码 但应该有更简单的方法来做到这一点 我的俄罗斯方块由 4 个块组成 它们都知道它们在矩阵中的位置 行和列 Matrix本身是
  • Selenium 2:中断页面加载

    我在使用 FirefoxDriver 使用 Selenium 2 0b3 Java API 单击按钮时遇到问题 单击该按钮会将表单发送到网络服务器 然后浏览器会因表单提交而进入新页面 当使用 element click 单击某个元素时 se
  • 在 JSON 转换为 CSV 期间保持 JSON 键的顺序

    我正在使用此处提供的 JSON 库http www json org java index html http www json org java index html为了将 json 字符串转换为 CSV 但我遇到的问题是 转换后键的顺序
  • 如果表不存在,如何使用 Derby Db 创建表

    我是新来的apache derby我似乎无法工作 CREATE TABLE IF NOT EXISTS table1 可以实现MySql等等我得到了 Syntax error Encountered NOT at line 1 column
  • 将 XML 转换为 Java 对象 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 Selenium 中定位具有特定文本的跨度? (使用Java)

    我在使用 java 查找 Selenium 中的 span 元素时遇到问题 HTML 看起来像 div class settings padding span Settings span div 我尝试了以下方法但没有成功 By xpath
  • 策略模式的现实示例

    我一直在读关于OCP原理 http en wikipedia org wiki Open closed principle以及如何使用策略模式来实现这一目标 我打算尝试向几个人解释这一点 但我能想到的唯一例子是根据 订单 的状态使用不同的验
  • java中类的命名约定 - 全部大写

    在 Java 中 当类全部大写时 如何命名它 例如 如果我想创建一个班级来选择某些人成为 VIP 我应该将类命名为 VIPSelector 还是 VipSelector Thanks 你的两个选择都有效 类的主要目标是让它们以大写字母开头
  • Spring Data 中 IQueryable 的等效项

    我习惯了 Net 和 LINQtoEntities 尤其是 IQueryable 部分 它允许在获取结果之前通过不同的函数传送请求 Spring数据中是否存在类似的东西 或者任何其他 java ORM 我希望能够做的基本示例 private
  • Activity 在 Android 上创建两次

    首先 我是 Android 开发新手 所以请耐心等待 我将从用户界面开始 我有一个按钮 一旦您点击它 就会启动一个活动以获取结果 public class GUIActivity extends Activity Override publ
  • 使用 jar 外部的配置启动 .jar,但能够从任何当前目录执行此操作

    我一直在努力解决一个特定的问题 我在 jar 文件中有一个 Java 程序 并且在 jar 之外有一个 lib 目录和一个 config 目录 但与 jar 本身所在的目录位于同一目录中 我正在尝试参考config foo config从代
  • 从 Web 服务器异步调用应用程序

    我有一个用 Spring 制作的 在 Tomcat 上运行的 Web 应用程序 在同一台机器上有一个普通的 Java 应用程序 我想通过从Web服务器调用Java应用程序来执行它 但我想让应用程序不会使用服务器的资源 它涉及分类器的训练 因

随机推荐

  • 新用户创建后使用 Dropzone.js 上传,发送标头

    我正在使用一个很棒的插件 dropzone js dropzonejs com 来让我的网站在注册新用户时更加漂亮 基本上 用户填写一个表单 将几个图像放入 dropzone 然后单击 提交 这会触发一个 ajax 调用 将表单发布到 ph
  • Safari 扩展弹出窗口链接

    是否可以在 Safari 弹出窗口中使用链接 我已经做了我能想到的所有事情 但似乎向弹出窗口添加链接只会改变外观 并且不会导致任何可点击的内容 无论是使用 href 还是 onclick 您可以在 href 或 div 上添加 onclic
  • asp.net mvc 树路径的复杂路由

    我想知道如何定义这样的路由映射 TreePath Action Id TreeMap 是从数据库动态加载的 如下所示 Gallery GalleryA SubGalleryA View 3 您可以创建自定义路由处理程序来执行此操作 实际路线
  • 当我从 Django 应用程序“打印”它们时,它们会去哪里?

    我在 Linux 服务器上有一个 Django 应用程序 在其中一种观点中 某种形式print命令被执行 并打印一些字符串 我怎样才能知道打印的字符串是什么 是否有一些日志保存这些东西 输出应该在 django 启动的终端中 如果你不直接启
  • Cassandra 中的强一致性

    根据datastax文章 可以保证强一致性 如果 R W gt N 在哪里 R是读操作的一致性级别 W为写操作的一致性级别 N 是副本数 这里的强一致性是什么意思呢 这是否意味着 每次 从数据库给出查询响应时 响应将 始终 是最后更新的值
  • 跨 AVX 通道的最佳方式是什么?

    有些问题具有类似的标题 但我的问题涉及其他地方未涵盖的一个非常具体的用例 我有 4 个 128d 寄存器 x0 x1 x2 x3 我想将它们的内容重新组合在 5 个 256d 寄存器 y0 y1 y2 y3 y4 中 以准备其他计算 on
  • 使用 C#/C++ 托管 VST/DX 仪器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我试图了解用 C 或 C 构建准系统虚拟仪器主机所需的工作量 但我无法获得任何硬信息 有人知道有什么好的
  • Pandas DataFrame MultiIndex groupby 滚动操作缺少日期

    我有一个数据框 其中有一个 MultiIndex 其中索引的最后一列是日期 我正在尝试以特定频率对列进行滚动操作 据我了解 如果我有 TimeIndex 通常的 pandas 方法是使用频率字符串调用滚动函数 例如 如果我希望窗口为两天 则
  • VB6 和 .PFX 代码签名

    我的老板已经从 Comodo 获得了证书 而我一直在努力寻找获得证书问题的解决方案intoVB6 应用程序 证书本身是 VB6 格式的 我对这类事情几乎一无所知 Comodo 的人真是太乐于助人了 我的老板说他可以在互联网上找到一些东西 显
  • 找出用于制作 JAR 的 Scala 版本

    我试图弄清楚使用哪个 Scala 版本进行编译A jar 我有两个版本 一个来自我的 ivy2 存储库 另一个来自 Maven 运行后jar xf A jar 我苦苦寻找scala and version 但什么也没发现 grep ri s
  • Mechanize 出现 SSL 错误

    我得到了这些命令irb require mechanize agent Mechanize new agent get https monabo lemonde fr customer account forgotpassword 我收到这
  • highcharts 弄错了我的时间

    highcharts 弄错了我的时间 我来自委内瑞拉 以防万一 我正在做一个实时系统 我可以在数据库中获取时间 秒和毫秒 例如 10 39 09 2 我应用 strtotime time 然后通过 json 发送到图表 在我的高图表中 我进
  • Seaborn 线图使用中位数而不是均值

    我在用着seaborn lineplot 创建像这样的线图 代表平均值的线 由代表标准差的带包围 sns lineplot x trial y rvalues hue subject err style band ci sd data df
  • 从文件中读取行,在第二个文件中 grep ,并为每个 $line 输出一个文件

    我有以下两个文件 sequences txt 158333741 Acaryochloris marina MBIC11017 uid58167 158333741 432 1 432 COG0001 0 158339504 Acaryoc
  • 如何在 spring-data-mongodb 框架中将 BigDecimal 转换为 Double

    Spring Data MongoDB 映射默认将 BigDecimal 转换为 String 但是 我希望它们在 mongodb 中转换为 Double 这是后者在 mongodb 中对该字段进行查询 比较查询 聚合查询 所必需的 我如何
  • 合并排序代码不起作用并显示异常

    public static void Merge int arr int p int q int r int n1 q p int n2 r q int L new int n1 int R new int r n2 for int i 0
  • 如何访问 Flask 路由中的查询字符串?

    如何访问 Flask 路由中的查询参数或查询字符串 从 Flask 文档来看 这一点并不明显 示例路线 data下面说明了我想要访问该数据的上下文 如果有人要求类似的东西example com data abc 123 我想访问该字符串 a
  • 如何在特定时间后从“std::cin”读取超时

    我写了一个小程序 int main int argc char argv int n std cout lt lt Before reading from cin lt lt std endl Below reading from cin
  • CUDA线程执行顺序

    我有一个 CUDA 程序的以下代码 include
  • 如何实现 Spring XD 接收器?

    到目前为止 我已经实现了 Spring XD 处理器 例如像这样 MessageEndpoint public class MyTransformer Transformer inputChannel input outputChannel