首页 > 解决方案 > Camel Spring 测试中的生产者模板显示 NullPointerException

问题描述

在春季应用程序中为骆驼路线创建示例测试时出现错误

java.lang.NullPointerException:无法调用“org.apache.camel.ProducerTemplate.sendBodyAndHeader(String, Object, String, Object)”,因为“this.template”为空

测试代码是

import java.io.File;

import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.test.junit4.CamelSpringTestSupport;
import org.junit.jupiter.api.Test;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class FirstTest extends CamelSpringTestSupport{

    @Override
    protected AbstractXmlApplicationContext createApplicationContext() {
        return new ClassPathXmlApplicationContext(
                 "firststep.xml"); 
    }
    @Test
     public void testMoveFile() throws Exception {
        template.sendBodyAndHeader("file://target/inbox",
                 "Hello World", Exchange.FILE_NAME, "hello.txt");
         Thread.sleep(1000);
         File target = new File("target/outbox/hello.txt");
         assertTrue("File not moved", target.exists());
         String content = context.getTypeConverter()
                 .convertTo(String.class, target);
         assertEquals("Hello World", content);
     }

}

尝试了声明生产者模板的解决方案,但仍然给出相同的结果。任何的意见都将会有帮助。

标签: javaspringjunitapache-camel

解决方案


推荐阅读