Camel配置Servlet转发

原创
2013/09/25 20:44
阅读数 2.2K

今天用Camel作了个Servlet接收数据转发的功能,本来感觉挺简单的.但是在做的过程中还是遇到了不少问题.

1.Camel用的版本是2.6,现在看起来是比较老了,but这个是jdk1.5能支持的最后一个版本了.又不想自己编译.

2.路由定义用的springDSL.

开始启动

第一个错,XML解析失败.没有jaxb对应的包.................................

第二个错,缺少activation包..........................

总算不少了,

第三个错找不到对应的servlet.明明配的有嘛,猜测是Spring容器启动的顺序比Servlet创建先.

还好在官网找到以下内容

Sample when using Spring 2.x

When using the Servlet component in a Camel/Spring application it's often required to load the Spring ApplicationContext after the Servlet component has started. This can be accomplished by using Spring'sContextLoaderServletinstead ofContextLoaderListener. In that case you'll need to startContextLoaderServletafter CamelHttpTransportServlet like this:

<web-app>

<servlet>

<servlet-name>CamelServlet</servlet-name>

<servlet-class>

org.apache.camel.component.servlet.CamelHttpTransportServlet

</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet>

<servlet-name>SpringApplicationContext</servlet-name>

<servlet-class>

org.springframework.web.context.ContextLoaderServlet

</servlet-class>

<load-on-startup>2</load-on-startup>

</servlet>

<web-app>


总算搞定.

启动正常了.

再发数据,

第四个错,没有xstream,娘的就转发下数据要这么多包不.

就一个from(“servlet://xml”).to(“http://xxxx.xxxx/ssss”)的路由恁是搞了一下午.

activation-2.2.1.jar
camel-core-2.6.0.jar
camel-http-2.6.0.jar
camel-servlet-2.6.0.jar
camel-spring-2.6.0.jar
commons-codec-1.6.jar
commons-httpclient-3.0.jar
commons-logging.jar
commons-management-1.0.jar
javax.xml.bind.jar
jaxb-impl-2.1-EA1.jar
log4j-1.2.15.jar
spring.jar
src
stax-api-1.0-2.jar

 
展开阅读全文
打赏
1
6 收藏
分享
加载中
不用spring怎么做
2015/08/07 23:54
回复
举报
更多评论
打赏
1 评论
6 收藏
1
分享
返回顶部
顶部