Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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
Spring 为什么春天的云流';s@InboundChannelAdapter是否不接受任何参数?_Spring_Apache Kafka_Spring Integration_Spring Cloud_Spring Cloud Stream - Fatal编程技术网

Spring 为什么春天的云流';s@InboundChannelAdapter是否不接受任何参数?

Spring 为什么春天的云流';s@InboundChannelAdapter是否不接受任何参数?,spring,apache-kafka,spring-integration,spring-cloud,spring-cloud-stream,Spring,Apache Kafka,Spring Integration,Spring Cloud,Spring Cloud Stream,我正在尝试使用SpringCloudStream在kafka上发送和接收消息。此示例使用一个简单的示例,使用时间戳作为消息。当我在上遇到这个拦截器时,我正试图进一步了解真实世界的应用程序: “用@InboundChannelAdapter注释的方法无法接受任何参数” 我试着这样使用它: @InboundChannelAdapter(value = ChannelManager.OUTPUT) public EventCreated createCustomerEvent(String custo

我正在尝试使用SpringCloudStream在kafka上发送和接收消息。此示例使用一个简单的示例,使用时间戳作为消息。当我在上遇到这个拦截器时,我正试图进一步了解真实世界的应用程序:

“用@InboundChannelAdapter注释的方法无法接受任何参数”

我试着这样使用它:

@InboundChannelAdapter(value = ChannelManager.OUTPUT)
public EventCreated createCustomerEvent(String customerId, String thingId) {
    return new EventCreated(customerId, thingId);
}
我遗漏了什么用途?我设想,当您想要创建一个事件时,您有一些数据要用于该事件,因此您通常会通过参数传递这些数据。但是“用@InboundChannelAdapter注释的方法不能接受任何参数”。那你该怎么用这个


我知道@InboundChannelAdapter来自SpringIntegration,SpringCloudStream扩展了SpringIntegration,因此SpringIntegration可能有一个不同的上下文,在这个上下文中这是有意义的。但对我来说,这似乎是不直观的(使用“入站”通道适配器作为输出/生产者/源也是如此)

首先,
@InboundChannelAdapter
是在中精确定义的,Spring Cloud Stream没有扩展它。那是假的。不知道你从哪里得到的信息

此注释构建类似于
SourcePollingChannelAdapter
的内容,它提供了一个基于调度程序的轮询器,并定期调用
MessageSource.receive()
。由于没有任何上下文,最终用户不能用自己的参数影响轮询器的行为,因此对空方法参数的要求是显而易见的

@InboundChannelAdapter
是流的开始,它处于活动状态。它在后台执行逻辑,而不需要您的事件


如果您想调用一些带有参数和触发器的方法,则应该考虑使用<代码> @ MasaGeGeave< /C> >:

,首先,定义了<代码> @ In EngulhanNeldAd/<代码>,而Spring云流不扩展它。那是假的。不知道你从哪里得到的信息

此注释构建类似于
SourcePollingChannelAdapter
的内容,它提供了一个基于调度程序的轮询器,并定期调用
MessageSource.receive()
。由于没有任何上下文,最终用户不能用自己的参数影响轮询器的行为,因此对空方法参数的要求是显而易见的

@InboundChannelAdapter
是流的开始,它处于活动状态。它在后台执行逻辑,而不需要您的事件


如果您想调用一些带有参数和触发器的方法,则应该考虑使用<代码> @ MasaGeGeave< /C> >:

< P>您希望如何调用该方法?我认为您的陈述“stream extends integration”存在误解,Artem可能理解我们扩展了
@InboundChannelAdatper

因此,如果您正在主动调用此方法,因为您确实有传递给它的参数,那么为什么不使用源通道发送数据呢

通常,源不需要参数,因为它们要么像点击twitter的twitter流一样推送,监听事件并将其推送到源通道,要么被轮询,在这种情况下,它们在通过轮询器定义的间隔上被调用


正如Artem所指出的,如果您打算从业务流调用此方法,并在触发消息流的同时处理返回,那么请检查文档中的链接。

您希望如何调用该方法?我认为您的陈述“stream extends integration”存在误解,Artem可能理解我们扩展了
@InboundChannelAdatper

因此,如果您正在主动调用此方法,因为您确实有传递给它的参数,那么为什么不使用源通道发送数据呢

通常,源不需要参数,因为它们要么像点击twitter的twitter流一样推送,监听事件并将其推送到源通道,要么被轮询,在这种情况下,它们在通过轮询器定义的间隔上被调用


正如Artem指出的,如果您打算从业务流调用此方法,并在触发消息流的同时处理返回,那么请检查文档中的链接。

关于扩展InboundChannelAdapter,我在哪里说过?我说了什么或暗示了什么,你说的是假的?对于一个来源来说,轮询也是令人困惑的。为什么我要对我正在制作的东西进行投票?在SpringCloud流中,这些来自SpringIntegration的模式似乎是一个不好的用法。我想我将只看《春天卡夫卡》或《合流》。我在哪里说过关于扩展“内边界”的内容?我说了什么或暗示了什么,你说的是假的?对于一个来源来说,轮询也是令人困惑的。为什么我要对我正在制作的东西进行投票?在SpringCloud流中,这些来自SpringIntegration的模式似乎是一个不好的用法。我想我会看看spring kafka或confluent,有没有“使用源通道发送数据”的例子?我一直在使用参考文档,但没有看到清晰的文档。我们应该扩展源接口来实现这一点吗?或者是第3.1.3节中关于访问绑定通道的示例?是的,您可以在此处找到:。您只需注入源通道,然后调用MessageChannel的send()方法。您知道如何在application.yml中配置它的任何示例吗?尤其是卡夫卡主题?这是我找不到的另一个例子。例如,我有一个带有@Output(“这是我的卡夫卡主题名”)的处理器,我想知道如何将它与magic application.yml properties文档连接起来?如果你读了第1-6节,你应该有足够的理解。它解释了