我对此很新,但我想从此网址中检索json文件:https://builds.apache.org/job/Accumulo-1.5/api/json
我想把这个网址放在我的ActiveMQ中 我的代码如下所示:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<!--Link naar activemq-->
<property name="brokerURL" value="tcp://localhost:61616"/>
</bean>
</property>
</bean>
<bean id="downloadLogger" class="camelinaction.DownloadLogger"/>
<camelContext xmlns="http://camel.apache.org/schema/spring">
<dataFormats>
<json id="json" library="Jackson"/>
</dataFormats>
<route>
<from uri="jetty:https://builds.apache.org:443/job/Accumulo-1.5/api/json"/>
<process ref="downloadLogger"/>
<to uri="jms:TestQueue"/>
</route>
<route>
<from uri="jms:TestQueue"/>
<process ref="downloadLogger"/>
<to uri="file:src/result"/>
</route>
</camelContext>
</beans>
队列正在运行。我试图将xml文件放入队列中,这不是问题。 但是,我的路由配置的输入是指向现有URL的链接。
这可能吗?如果是的话,我的错是什么?
提前致谢。
答案 0 :(得分:1)
使用Java DSL代替Spring DSL修复它。
解决方案:
@Component
public class AccumoloToJmsRouteBuilder extends SpringRouteBuilder {
@Override
public void configure() throws Exception {
from("timer://foo?fixedRate=true&delay=0&period=2000&repeatCount=1")
.setHeader(Exchange.HTTP_METHOD, constant("GET"))
.to("https://builds.apache.org:443/job/Accumulo-1.5/api/json")
.convertBodyTo(String.class)
.to("myProcessor")
.log(LoggingLevel.DEBUG, "com.project", "HTTP GET response body: ${body}")
.to("activemq://TestQueue");
}
}