我是Apache Camel的新手,我很难得到这个。 我已经浏览了互联网,但找不到任何有价值的东西。 我也有“骆驼在行动”,所以如果有人知道书中可能有用的部分,请告诉我。
这就是我想要做的事情:
(1)用户点击网络服务
(2)作为响应,Web服务返回一个网页
我知道我必须使用HTTP并且Jetty组件是我最好的选择。
这是我的路线类:
public class MyRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
/*
* Basic Route
*/
from("jetty://http://localhost:8080/ExchangeSendPage")
//.setHeader("webPageFileName", constant("index.html"))
.process(new myProcessor());
.to()
}
});
}
这是我的处理器类:
public class myProcessor implements Processor {
public void theprocess (Exchange exchange) throw Exception {
return ("ExchangeSendPage.html");
}
我完全迷失了,可以使用以下指导: (1)如何设置我的localhost,当用户在自己的机器上时,他们只需点击.html文件?我会用xpath吗?现在我没有.html文件去任何地方。我确定它甚至没有附加到本地主机。 (2)如何将html页面附加到处理器?或者这是否是正确的方法呢? (3).to应该转到它要击中的服务器的URL吗?这会被视为终点吗?
如果有什么问题让我知道,请告诉我。
答案 0 :(得分:2)
This博客文章详细介绍了如何使用camel和jetty组件提供动态网页。总之,你必须填写交换机构:
public void process(Exchange exchange) throws Exception {
exchange.getOut().setBody("<html><body>Hello world</body></html>");
}
修改强>
我很确定博客示例有效。请使用以下代码克隆以下回购:
git clone https://github.com/mjabali/Jetty-Sample
使用
运行mvn camel:run
请将此与您的实施进行比较,尤其是驼峰上下文文件https://github.com/mjabali/Jetty-Sample/blob/master/src/main/resources/META-INF/spring/camel-context.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:camel="http://camel.apache.org/schema/spring" 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.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<camelContext xmlns="http://camel.apache.org/schema/spring">
<package>com.fusesource.fusebyexample</package>
<route id="Jetty_Sample">
<from uri="jetty:http://localhost:8888/myBookService"/>
<log logName="HTTP LOG" loggingLevel="INFO" message="HTTP REQUEST: ${in.header.bookid}"/>
<process ref="myBookService"/>
</route>
</camelContext>
<bean class="com.fusesource.fusebyexample.myBookService" id="myBookService"/>
</beans>