Spring-集成:@Header-参数的可配置名称?
Spring-integration: Configurable name of @Header-parameter?
我正在使用 Spring-integration
来监听队列,现在我遇到了一个非常愚蠢的错误。事实证明,消息参数的名称拼写错误,导致运行时错误。要修复它,我必须重建 java-class,因为消息属性的名称是硬编码的 String
。我想在将来更容易地解决此类错误,方法是通过 properties
文件使消息属性的名称可配置,但我似乎无法找到一种方法来做到这一点。有可能吗?
public void someListenerMethod(@Header("someAttribute")
final Long someAttribute) {
我想在这里使参数 @Header
可配置..
我会自己回答,因为我找到了一种方法(虽然我不确定它是最佳的..)
@Value("${my.header.property.name}")
private String myHeaderPropertyName;
public void someListenerMethod(@Headers
final Map<String, Object> headerAttributes) {
final Long myHeaderAttribute = (Long) headerAttributes.get(myHeaderPropertyName));
我正在使用 Spring-integration
来监听队列,现在我遇到了一个非常愚蠢的错误。事实证明,消息参数的名称拼写错误,导致运行时错误。要修复它,我必须重建 java-class,因为消息属性的名称是硬编码的 String
。我想在将来更容易地解决此类错误,方法是通过 properties
文件使消息属性的名称可配置,但我似乎无法找到一种方法来做到这一点。有可能吗?
public void someListenerMethod(@Header("someAttribute")
final Long someAttribute) {
我想在这里使参数 @Header
可配置..
我会自己回答,因为我找到了一种方法(虽然我不确定它是最佳的..)
@Value("${my.header.property.name}")
private String myHeaderPropertyName;
public void someListenerMethod(@Headers
final Map<String, Object> headerAttributes) {
final Long myHeaderAttribute = (Long) headerAttributes.get(myHeaderPropertyName));