java - Spring集成:@Header参数的可配置名称?

标签 java spring spring-integration

我正在使用Spring-integration来监听队列,现在面临着一个非常愚蠢的错误。事实证明,消息参数的名称拼写错误,导致运行时错误。为了解决这个问题,我必须重建 java 类,因为消息属性的名称是硬编码的 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));

关于java - Spring集成:@Header参数的可配置名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31163126/

相关文章:

java - DatastoreMutationPool 是否在回调之前刷新到数据存储区?

java - 如何使用 Spring Boot 让 Twilio 在通话中一一告诉 OTP

java - 使用 EasyMock 测试参数值

java - 如何在 Spring WebServiceTemplate 中设置超时

java - Spring mvc 项目中的 org.springframework.beans.factory.CannotLoadBeanClassException

java - IDE控制台和终端的区别

java - Action 映射触发 Controller 中的错误方法

java - 使用 url 表达式

spring-integration - Spring 集成中的 react 堆

java - Spring Integration - ReleaseStrategy 查看尚未添加的消息