When I upgraded from Camel 2.0-SNAPSHOT to 2.0.0, while I was using Spring 2.5.6, I started getting the following errors on deployment:

error:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Cannot locate BeanDefinitionParser for element [jta-transaction-manager]

This was my original email thread on the Camel list:

http://www.nabble.com/endpoint-not-found-after-2.0.0-upgrade-td25174532.html

This is a Spring configuration issue, and required context changes to separate concerns.

I solved the issue by:

  1. Splitting up my spring contexts into separate concerns.
  2. TESTING and validating the schema’s used in my contexts
  3. Executing Unit and Integration tests on the Camel JMS and Webservice code that I was creating up to 89% of total code line coverage.

I have partial of the solution for the Message Driven POJO and Spring JMS code up on this Blog:

http://www.baselogic.com/blog/java/testing-activemq-virtualtopics-using-camel-and-junit

The most important separation was to separate Camel context from any other Spring contexts. I found that when I tried to combine the two, either 1 of 2 things where happening:

  1. All Camel definitions in the context where ignored with no error thrown during deployment
  2. Bean definition parser error (above), where being thrown on Spring bean definitions.

Mick Knutson

Java, JavaEE, J2EE, WebLogic, WebSphere, JBoss, Tomcat, Oracle, Spring, Maven, Architecture, Design, Mentoring, Instructor and Agile Consulting. http://www.baselogic.com/blog/resume

View all posts

Java / JavaEE / Spring Boot Channel

BLiNC Supporters

BLiNC Adsense

Archives

Newsletter