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

}

これをデバッグすると、webapp で実行するとテンプレートが null であることがわかりましたが、春の Junit テストでは機能します。

何がうまくいかなかったのか理解できません。

4

1 に答える 1

1

はい、IoC を実行するには、Spring Bean のポスト プロセッサを起動する必要があります。Camel Test Kit はこれを自動的に行うため、単体テストから機能するのはなぜですか。

于 2012-08-13T04:29:58.537 に答える