1. main方法中启动时报错:java.lang.NoSuchMethodError: org.apache.camel.CamelContext.getProducerServicePool()Lorg/apache/camel/spi/ServicePool;
报错代码:
import org.apache.camel.CamelContext;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.DefaultProducerTemplate; // 需要替换该行
public class TestRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
from("direct:route-test").log("hello world");
}
public static void main(String[] args) throws Exception {
CamelContext context = new DefaultCamelContext();
context.start();
TestRouteBuilder routeBuilder = new TestRouteBuilder();
routeBuilder.addRoutesToCamelContext(context);
ProducerTemplate template = new DefaultProducerTemplate(context);
template.start();
template.sendBody("direct:route-test", null);
context.shutdown();
}
}
解决方案:
将 import org.apache.camel.impl.DefaultProducerTemplate;
替换为 import org.apache.camel.impl.engine.DefaultProducerTemplate;