camel-guice で Apache Camel 2.11.1 を使用していますが、自動起動のために Bean をブートストラップする方法がわかりません。
camel-context.xml を使用すると、次のように記述できます。
<beans xmlns="http://www.springframework.org/schema/beans" ...
<camel:camelContext xmlns="http://camel.apache.org/schema/spring" id="my-camel-context">
<camel:packageScan>
<camel:package>package.routes</camel:package>
</camel:packageScan>
</camel:camelContext>
<bean id="fooBean" class="package.beans.FooBean" />
<bean id="barBean" class="package.beans.BarBean" >
<constructor-arg ref="fooBean"/>
<constructor-arg ref="my-camel-context"/>
</bean>
...
</beans>
BarBean.class
public class BarBean implements SmartLifecycle, StartupListener {
...
}
また、キャメルは BarBean に実装されているフックを呼び出しますが、guice を使用してこれを解決するにはどうすればよいでしょうか?
編集: org.apache.camel.guice.Main を使用してキャメルを起動しています。