我正在使用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?如果是,那怎么样?
答案 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
在您首先声明该标题时对您来说还不够。