0

我有一个简单的MessageProducer类,它使用骆驼将消息发送到直接通道ProducerTemplate

这是代码

@Component
@Slf4j
public class MessageProducer {

    @EndpointInject(uri = "direct:app.out")
    protected ProducerTemplate template;

    public void sendEvent(Object payload, String eventName) {
        Map<String, Object> headers = new HashMap<String, Object>();
        headers.put("eventName", eventName);

        template.sendBodyAndHeaders(payload, headers);

        log.debug("Sent message {}", payload);
    }

}

当我调试它时,我发现模板在 web 应用程序中运行时为空,但它在 spring Junit 测试中工作。

我不明白出了什么问题。

4

1 回答 1

1

是的,spring bean 后处理器需要启动,让 IoC 运行。Camel Test Kit 自动执行此操作,因此它可以通过单元测试工作。

于 2012-08-13T04:29:58.537 回答