1 回答

TA貢獻1815條經驗 獲得超10個贊
您可以通過在您的程序中添加來在控制臺中啟用駱駝日志記錄org.apache.log4j.BasicConfigurator.configure()。
使用它,您可以驗證路由是否啟動并使用了文件。所以通過添加一些日志來執行你的程序:
?CamelContext camelContext = new DefaultCamelContext();
? ? BasicConfigurator.configure();
? ? camelContext.addRoutes(new RouteBuilder() {
? ? ? public void configure() throws Exception {
? ? ? ? String publicKeyFileName = "file:C:\\LocalData\\Keys\\pgp_public.asc";
? ? ? ? String keyUserid = " ";
? ? ? ? from("file:C:\\Test\\Test\\IN")
? ? ? ? ? ? .log("file received")
? ? ? ? ? ? .marshal().pgp(publicKeyFileName, keyUserid)
? ? ? ? .to("file:C\\Test\\Test\\OUT");
? ? ? }
? ? });
? ? camelContext.start();
? ? Thread.sleep(30000);
? ? camelContext.stop();
? }?
我可以注意到路由正在啟動,使用 in 文件夾中的文件然后失敗,但出現以下異常:
Caused by: java.lang.NoSuchMethodError: org.bouncycastle.openpgp.PGPPublicKeyRingCollection.<init>(Ljava/io/InputStream;)V
? ? at org.apache.camel.converter.crypto.PGPDataFormatUtil.findPublicKey(PGPDataFormatUtil.java:64)
? ? at org.apache.camel.converter.crypto.PGPDataFormatUtil.findPublicKey(PGPDataFormatUtil.java:54)
? ? at org.apache.camel.converter.crypto.PGPDataFormat.marshal(PGPDataFormat.java:64)
? ? at org.apache.camel.processor.MarshalProcessor.process(MarshalProcessor.java:59)
? ? at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
添加回答
舉報