Fix AbstractAwsMessageHandler impls for explicit headerMapper setting

This commit is contained in:
Artem Bilan
2024-09-24 09:24:51 -04:00
parent 5cfdaa2ae8
commit 577c2e87fd
3 changed files with 13 additions and 2 deletions

View File

@@ -61,6 +61,8 @@ public abstract class AbstractAwsMessageHandler<H> extends AbstractMessageProduc
private HeaderMapper<H> headerMapper;
private boolean headerMapperSet;
public void setSendTimeout(long sendTimeout) {
setSendTimeoutExpression(new ValueExpression<>(sendTimeout));
}
@@ -84,6 +86,11 @@ public abstract class AbstractAwsMessageHandler<H> extends AbstractMessageProduc
*/
public void setHeaderMapper(HeaderMapper<H> headerMapper) {
this.headerMapper = headerMapper;
this.headerMapperSet = true;
}
protected boolean isHeaderMapperSet() {
return this.headerMapperSet;
}
/**

View File

@@ -187,7 +187,9 @@ public class SnsMessageHandler extends AbstractAwsMessageHandler<Map<String, Mes
@Override
protected void onInit() {
super.onInit();
setHeaderMapper(new SnsHeaderMapper());
if (!isHeaderMapperSet()) {
setHeaderMapper(new SnsHeaderMapper());
}
TypeLocator typeLocator = getEvaluationContext().getTypeLocator();
if (typeLocator instanceof StandardTypeLocator standardTypeLocator) {
/*

View File

@@ -148,7 +148,9 @@ public class SqsMessageHandler extends AbstractAwsMessageHandler<Map<String, Mes
@Override
protected void onInit() {
super.onInit();
setHeaderMapper(new SqsHeaderMapper());
if (!isHeaderMapperSet()) {
setHeaderMapper(new SqsHeaderMapper());
}
if (this.messageConverter == null) {
this.messageConverter = new GenericMessageConverter(getConversionService());
}