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:
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:
This is a Spring configuration issue, and required context changes to separate concerns.
I solved the issue by:
- Splitting up my spring contexts into separate concerns.
- TESTING and validating the schema’s used in my contexts
- 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:
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:
- All Camel definitions in the context where ignored with no error thrown during deployment
- Bean definition parser error (above), where being thrown on Spring bean definitions.