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));