在弹簧集成中动态加载环境属性以进行流量测试

时间:2018-09-12 18:08:55

标签: spring spring-integration spring-boot-test

我正在尝试测试构建的spring集成XML的流程。我正在使用Custom Transformer类编写自己的转换,在该转换中,我根据属性设置了配置文件。此属性在application.properties文件中设置为dev。无论如何,是否有为了测试目的而动态更改该值?我尝试将其作为VM参数传递,但此类中的env变量的值仍为 dev 。它仅有助于更改目标属性文件。

@PropertySource("classpath:application-${spring.profiles.active}.properties")
public class CustomTransformer {

    @Value("${spring.profiles.active}")
    private String env;

    public Message<?> transform(Message<String> message){
        String payload = message.getPayload().toString();
        Message<?> message2 = MessageBuilder.withPayload(payload).copyHeadersIfAbsent(message.getHeaders()).setHeader("profile", env).build();
        System.out.println("Message 2:\n" + message2.getPayload().toString());
        return message2;
    }
}

0 个答案:

没有答案