java - 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);
}
}
尝试了声明生产者模板的解决方案,但仍然给出相同的结果。任何的意见都将会有帮助。
解决方案
推荐阅读
- android - 目标 sdk 版本更改为 29,但不适用于 android 10 和 9
- javascript - 基于 d3js 中的键添加值和合并 json 对象
- android - Snackbar:删除底部导航视图下方的额外空间
- windows - 使用批处理脚本将文本复制到剪贴板
- amazon-web-services - Amazon AWS S3 Glacier:是否有文件层次结构
- python - 连接箱线图的“上限”
- r - Rf_lang2 和 Rf_lang3 的定义在哪里?
- c++ - c++ 错误:“数组必须用大括号括起来的初始化程序初始化”
- python-3.x - 辅助编写函数以在 python 中列出 api 查询
- angular - 用 Angular 构建一个聊天应用程序,试图让它每当输入 @ 字符时,用户组列表就会出现在 @ 符号上方