ApacheCamelでインポートしたプロジェクトのルートを使用したい
質問
ApacheCamelのJavaDSLでAPIを作成しています。
下記の手順でインポートしたプロジェクトのルートを使用しようとするとエラーになりました。
他プロジェクトのルートを使用する方法等、何か解決方法のヒントをご教授いただけませんでしょうか。
手順
- Aプロジェクト内にAルートを作成し、Mavenプライベートリポジトリにあげる
- BプロジェクトのpomファイルにAプロジェクトの情報を記載し、インポートする
※Aプロジェクト内のBeanをBプロジェクトで使用できることは確認済 - Bプロジェクトのルート上で
.to("direct:Aルート")
というように呼び出す
その他設定等
・Aプロジェクトのルート部分
package jp.co.aaa.route;
public class ARoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("direct:acheck")
.routeId("acheck")
.transform(simple("${body}"));
}
}
・Bプロジェクトの呼び出し部分
package jp.co.bbb.route;
~~
private void bCheck(){
from("direct:bcheck")
.routeId("bcheck")
.to("direct:acheck");
}
・Bプロジェクトのcamel-context.xmlに下記の通りpackageScanを追加
<packageScan>
<package>jp.co.aaa.route</package>
<package>jp.co.bbb.route</package>
<includes>**.*</includes>
</packageScan>
エラー内容
org.apache.cxf.interceptor.Fault: No consumers available on endpoint: Endpoint[direct://XXXAルートXXX]. Exchange[ID-HW3650-3230-1517360482872-41-8] while invoking public abstract java.lang.Object jp.co.XXXXXX(java.lang.String) with params [XXX].