将ConversionService添加到Spring Cloud Stream

时间:2017-10-10 12:59:27

标签: spring-integration spring-cloud-stream

我正在使用Spring Integration和String Cloud Stream。我有一个标题,我希望我的HTTP网关使用,它具有Long值,但默认情况下它不能从Long转换为String,因此显示错误Consider registering a Converter with ConversionService

因此我尝试添加自己的LongToStringConverter类和以下Bean,以便可以使用LongToStringConverter:

@Bean
public ConversionService conversionService()
{
  DefaultConversionService service = new DefaultConversionService();
  service.addConverter( new LongToStringConverter() );
  return service;
}

然后收到以下错误:Dispatcher has no subscribers

如果我只从上面的bean返回DefaultConversionService的实例,我仍然会收到错误。

当我删除上面的bean时,只需在设置标题值时将Long值转换为String,并且没有错误。是否可以使用ConversionService?如果是,那怎么样?

1 个答案:

答案 0 :(得分:1)

首先, 已经是array.sort(function (a, b) { if (a.sortOrder == undefined && b.sortOrder == undefined) { return 0; } if (a.sortOrder == undefined) { return 1; } if (b.sortOrder == undefined) { return -1; } if (a.sortOrder > b.sortOrder) { return 1; } if (a.sortOrder < b.sortOrder) { return -1; } return 0; }); https://docs.spring.io/spring-integration/docs/4.3.12.RELEASE/reference/html/messaging-endpoints-chapter.html#payload-type-conversion。它有一些预定义的转换器。因此,您应该考虑在此问题上使用ConversionService

另一方面,目前还不清楚为什么你需要这样做。我想知道为什么@IntegrationConverter在您首先声明该标题时对您来说还不够。