Another error is generated during Spring initialisation :

GRAVE: Failed: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'camel:beanPostProcessor': Cannot resolve
reference to bean 'camel' while setting bean property 'camelContext'; nested
exception is org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'camel': Initialization of bean failed; nested
exception is org.springframework.beans.InvalidPropertyException: Invalid
property 'c' of bean class
[org.apache.camel.spring.CamelContextFactoryBean]: No property 'c' found
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'camel:beanPostProcessor': Cannot resolve reference to bean
'camel' while setting bean property 'camelContext'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'camel': Initialization of bean failed; nested exception is
org.springframework.beans.InvalidPropertyException: Invalid property 'c' of
bean class [org.apache.camel.spring.CamelContextFactoryBean]: No property
'c' found
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1172)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:940)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:437)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:888)
        at
org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:594)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:351)
        at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:123)
        at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:76)
        at
org.apache.camel.spring.Main.createDefaultApplicationContext(Main.java:311)
        at org.apache.camel.spring.Main.doStart(Main.java:302)
        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
        at org.apache.camel.spring.Main.run(Main.java:104)
        at org.apache.camel.spring.Main.run(Main.java:95)
        at
org.apache.camel.example.spring.MyRouteBuilder.main(MyRouteBuilder.java:46)
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'camel': Initialization of bean failed; nested
exception is org.springframework.beans.InvalidPropertyException: Invalid
property 'c' of bean class
[org.apache.camel.spring.CamelContextFactoryBean]: No property 'c' found
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:445)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
        ... 22 more
Caused by: org.springframework.beans.InvalidPropertyException: Invalid
property 'c' of bean class
[org.apache.camel.spring.CamelContextFactoryBean]: No property 'c' found
        at
org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:377)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1211)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1177)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:940)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:437)
        ... 30 more


Camelcontext :

<?xml version="1.0" encoding="UTF-8"?>
<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-2.5.xsd
       http://activemq.apache.org/camel/schema/spring
       http://activemq.apache.org/camel/schema/spring/camel-spring.xsd";>
        
        <!-- lets configure the default ActiveMQ broker URL -->
        <bean id="test-jms"
                class="org.apache.camel.component.jms.JmsComponent">
                <property name="connectionFactory">
                        <bean
                                
class="org.apache.activemq.ActiveMQConnectionFactory">
                                <property name="brokerURL"
                                        
value="vm://localhost?broker.persistent=false&amp;broker.useJmx=false"
/>
                        </bean>
                </property>
        </bean>

        <bean id="Converter" class="com.xpectis.transform.Converter" />


        <!-- DB connection and persistence layer -->

        <!-- DataSource Definition -->
        <bean id="dataSource"
                class="org.apache.commons.dbcp.BasicDataSource"
                destroy-method="close">
                <property name="driverClassName">
                        <value>com.mysql.jdbc.Driver</value>
                </property>
                <property name="url">
                        <value>jdbc:mysql:///test</value>
                </property>
                <property name="username">
                        <value>root</value>
                </property>
                <property name="password">
                        <value></value>
                </property>
        </bean>

        <!-- Hibernate SessionFactory Definition -->
        <bean id="sessionFactory"
                
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
                <property name="mappingResources">
                        <list>
                                <value>
                                        com/xpectis/model/order.hbm.xml
                                </value>
                        </list>
                </property>

                <property name="hibernateProperties">
                        <props>
                                <prop key="hibernate.dialect">
                                        org.hibernate.dialect.MySQLDialect
                                </prop>
                                <prop key="hibernate.show_sql">true</prop>
                                <prop key="hibernate.format_sql">true</prop>
                                <prop key="hibernate.default_schema">test</prop>
                                <prop 
key="hibernate.cglib.use_reflection_optimizer">
                                        true
                                </prop>
                                <prop key="hibernate.cache.provider_class">
                                        
org.hibernate.cache.HashtableCacheProvider
                                </prop>
                        </props>
                </property>

                <property name="dataSource">
                        <ref bean="dataSource" />
                </property>
        </bean>

        <!-- Hibernate Template Defintion 
                <bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate"> 
                <property name="sessionFactory"><ref 
bean="sessionFactory"/></property> 
                <property name="jdbcExceptionTranslator"><ref
bean="jdbcExceptionTranslator"/></property> 
                </bean> -->

        <!-- Catalog DAO Definition: Hibernate implementation -->
        <bean id="orderDAO"
                class="com.xpectis.dao.OrderDAOHibernateImpl">
                <property name="sessionFactory">
                        <ref bean="sessionFactory" />
                </property>
        </bean>

        <!-- Hibernate Transaction Manager Definition -->
        <bean id="transactionManager"
                
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
                <property name="sessionFactory">
                        <ref local="sessionFactory" />
                </property>
        </bean>

        <!-- Spring Data Access Exception Translator Defintion -->
        <bean id="jdbcExceptionTranslator"
        
class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
                <property name="dataSource">
                        <ref bean="dataSource" />
                </property>
        </bean>
        
<c:camelContext id="camel" useJmx="false" mbeanServer="mbeanServer"
                 xmlns:c="http://activemq.apache.org/camel/schema/spring";>      
          
   <c:package>org.apache.camel.example.spring</c:package>
</c:camelContext> 

</beans>




Gert Vanthienen wrote:
> 
> Charles,
> 
> Could you try explicitly prefixing the camel namespace to rule out any 
> namespace conflicts?  Something like...
> 
> <c:camelContext id="camel" useJmx="false" mbeanServer="mbeanServer"
>                  xmlns:c="http://activemq.apache.org/camel/schema/spring";>    
>             
>    <c:package>org.apache.camel.example.spring</c:package>
> </c:camelContext> 
> 
> 
> 
> Gert
> cmoulliard wrote:
>> Unfortunately, it does not work also, if I move the following xml part to
>> the
>> bottom of my camelcontext.xml file :
>>
>>          <camelContext id="camel" useJmx="false"
>> mbeanServer="mbeanServer"
>>                  xmlns="http://activemq.apache.org/camel/schema/spring";>     
>>            
>> <package>org.apache.camel.example.spring</package>
>>          </camelContext> 
>>
>> The beanFactory is still null and of course my orderDAO.
>>
>> Regards,
>>
>> Charles
>>
>>
>> James.Strachan wrote:
>>   
>>> Since the <camelContext> overrides the default XML namespace - moving
>>> it to the bottom of the file should fix it.
>>>
>>> On 18/03/2008, cmoulliard <[EMAIL PROTECTED]> wrote:
>>>     
>>>>  Here is the camel context James :
>>>>
>>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>>  <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-2.5.xsd
>>>>        http://activemq.apache.org/camel/schema/spring
>>>>  http://activemq.apache.org/camel/schema/spring/camel-spring.xsd";>
>>>>
>>>>         <camelContext id="camel" useJmx="false"
>>>> mbeanServer="mbeanServer"
>>>>                 xmlns="http://activemq.apache.org/camel/schema/spring";>
>>>>                 <package>org.apache.camel.example.spring</package>
>>>>         </camelContext>
>>>>
>>>>         <!-- lets configure the default ActiveMQ broker URL -->
>>>>         <bean id="test-jms"
>>>>                 class="org.apache.camel.component.jms.JmsComponent">
>>>>                 <property name="connectionFactory">
>>>>                         <bean
>>>>                                
>>>> class="org.apache.activemq.ActiveMQConnectionFactory">
>>>>                                 <property name="brokerURL"
>>>>                                        
>>>> value="vm://localhost?broker.persistent=false&amp;broker.useJmx=false"
>>>>  />
>>>>                         </bean>
>>>>                 </property>
>>>>         </bean>
>>>>
>>>>         <bean id="Converter" class="com.xpectis.transform.Converter" />
>>>>
>>>>
>>>>         <!-- DB connection and persistence layer -->
>>>>
>>>>         <!-- DataSource Definition -->
>>>>         <bean id="dataSource"
>>>>                 class="org.apache.commons.dbcp.BasicDataSource"
>>>>                 destroy-method="close">
>>>>                 <property name="driverClassName">
>>>>                         <value>com.mysql.jdbc.Driver</value>
>>>>                 </property>
>>>>                 <property name="url">
>>>>                         <value>jdbc:mysql:///test</value>
>>>>                 </property>
>>>>                 <property name="username">
>>>>                         <value>root</value>
>>>>                 </property>
>>>>                 <property name="password">
>>>>                         <value></value>
>>>>                 </property>
>>>>         </bean>
>>>>
>>>>         <!-- Hibernate SessionFactory Definition -->
>>>>         <bean id="sessionFactory"
>>>>                
>>>> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
>>>>                 <property name="mappingResources">
>>>>                         <list>
>>>>                                 <value>
>>>>                                         com/xpectis/model/order.hbm.xml
>>>>                                 </value>
>>>>                         </list>
>>>>                 </property>
>>>>
>>>>                 <property name="hibernateProperties">
>>>>                         <props>
>>>>                                 <prop key="hibernate.dialect">
>>>>                                        
>>>> org.hibernate.dialect.MySQLDialect
>>>>                                 </prop>
>>>>                                 <prop
>>>> key="hibernate.show_sql">true</prop>
>>>>                                 <prop
>>>> key="hibernate.format_sql">true</prop>
>>>>                                 <prop
>>>> key="hibernate.default_schema">test</prop>
>>>>                                 <prop
>>>> key="hibernate.cglib.use_reflection_optimizer">
>>>>                                         true
>>>>                                 </prop>
>>>>                                 <prop
>>>> key="hibernate.cache.provider_class">
>>>>                                        
>>>> org.hibernate.cache.HashtableCacheProvider
>>>>                                 </prop>
>>>>                         </props>
>>>>                 </property>
>>>>
>>>>                 <property name="dataSource">
>>>>                         <ref bean="dataSource" />
>>>>                 </property>
>>>>         </bean>
>>>>
>>>>         <!-- Hibernate Template Defintion
>>>>                 <bean id="hibernateTemplate"
>>>>  class="org.springframework.orm.hibernate3.HibernateTemplate">
>>>>
>>>>                 <property name="sessionFactory"><ref
>>>> bean="sessionFactory"/></property>
>>>>
>>>>                 <property name="jdbcExceptionTranslator"><ref
>>>>  bean="jdbcExceptionTranslator"/></property>
>>>>                 </bean> -->
>>>>
>>>>
>>>>         <!-- Catalog DAO Definition: Hibernate implementation -->
>>>>         <bean id="orderDAO"
>>>>                 class="com.xpectis.dao.OrderDAOHibernateImpl">
>>>>                 <property name="sessionFactory">
>>>>                         <ref bean="sessionFactory" />
>>>>                 </property>
>>>>         </bean>
>>>>
>>>>
>>>>         <!-- Hibernate Transaction Manager Definition -->
>>>>         <bean id="transactionManager"
>>>>                
>>>> class="org.springframework.orm.hibernate3.HibernateTransactionManager">
>>>>                 <property name="sessionFactory">
>>>>                         <ref local="sessionFactory" />
>>>>                 </property>
>>>>         </bean>
>>>>
>>>>         <!-- Spring Data Access Exception Translator Defintion -->
>>>>         <bean id="jdbcExceptionTranslator"
>>>>
>>>>
>>>> class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
>>>>                 <property name="dataSource">
>>>>                         <ref bean="dataSource" />
>>>>                 </property>
>>>>         </bean>
>>>>
>>>>         <!--
>>>>                 <bean id="Order" class="com.xpectis.model.Order" />
>>>>                 <bean id="registry"
>>>>  class="org.springframework.remoting.rmi.RmiRegistryFactoryBean">
>>>>                 <property name="port" value="1099" />
>>>>                 </bean>
>>>>                 <bean id="serverConnector"
>>>>  class="org.springframework.jmx.support.ConnectorServerFactoryBean"
>>>>  depends-on="registry">
>>>>                 <property name="objectName" value="connector:name=rmi"
>>>> />
>>>>                 <property name="serviceUrl"
>>>>  value="service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi" />
>>>>                 <property name="threaded" value="true" />
>>>>                 <property name="daemon" value="true" />
>>>>                 </bean>
>>>>         -->
>>>>
>>>>  </beans>
>>>>
>>>>
>>>>
>>>>
>>>>  James.Strachan wrote:
>>>>  >
>>>>  > Any chance you could show us the whole spring XML file? Am wondering
>>>>  > if its something to do with namespaces?
>>>>  >
>>>>  > On 18/03/2008, cmoulliard <[EMAIL PROTECTED]> wrote:
>>>>  >>
>>>>  >>  Hi,
>>>>  >>
>>>>  >>  I try from one of my java class to inject an
>>>> HibernateDAOImplementation
>>>>  >>  defined as a bean in the CamelContext file. Unfortunately, I
>>>> receive
>>>> a
>>>>  >> null
>>>>  >>  pointer exception at the following line :
>>>>  >>
>>>>  >>  orderDAO =
>>>> (OrderDAOHibernateImpl)this.beanFactory.getBean("orderDAO");
>>>>  >>
>>>>  >>  the beanFactory object is null
>>>>  >>
>>>>  >>  import org.springframework.beans.BeansException;
>>>>  >>  import org.springframework.beans.factory.BeanFactory;
>>>>  >>  import org.springframework.beans.factory.BeanFactoryAware;
>>>>  >>  import org.springframework.dao.DataIntegrityViolationException;
>>>>  >>
>>>>  >>  import com.xpectis.dao.OrderDAO;
>>>>  >>  import com.xpectis.dao.OrderDAOHibernateImpl;
>>>>  >>  import com.xpectis.model.Order;
>>>>  >>
>>>>  >>  public class SaveOrder implements BeanFactoryAware {
>>>>  >>
>>>>  >>         private BeanFactory beanFactory;
>>>>  >>         private OrderDAO orderDAO;
>>>>  >>
>>>>  >>         public SaveOrder() {
>>>>  >>         }
>>>>  >>
>>>>  >>         public void save(Order order) {
>>>>  >>
>>>>  >>
>>>>  >>                 orderDAO =
>>>>  >> (OrderDAOHibernateImpl)this.beanFactory.getBean("orderDAO");
>>>>  >>
>>>>  >>                 try {
>>>>  >>                         this.orderDAO.addOrder(order);
>>>>  >>                         System.out.println("Order saved : " +
>>>>  >> order.toString());
>>>>  >>                 } catch (DataIntegrityViolationException de) {
>>>>  >>                         System.out.println("Could not save product,
>>>>  >> duplicate product id");
>>>>  >>                 } catch (Exception e) {
>>>>  >>                         System.out.println("Could not save product
>>>> "
>>>> +
>>>>  >> e.toString());
>>>>  >>                 }
>>>>  >>         }
>>>>  >>
>>>>  >>         public void setBeanFactory(BeanFactory beanFactory) {
>>>>  >>                 this.beanFactory = beanFactory;
>>>>  >>         }
>>>>  >>
>>>>  >>         public OrderDAO getOrderDAO() {
>>>>  >>                 return orderDAO;
>>>>  >>         }
>>>>  >>
>>>>  >>         public void setOrderDAO(OrderDAO orderDAO) {
>>>>  >>                 this.orderDAO = orderDAO;
>>>>  >>         }
>>>>  >>
>>>>  >>  }
>>>>  >>
>>>>  >>  Here is the camelcontext file where my bean is declared.
>>>>  >>
>>>>  >>         <!-- Catalog DAO Definition: Hibernate implementation -->
>>>>  >>         <bean id="orderDAO"
>>>>  >>                 class="com.xpectis.dao.OrderDAOHibernateImpl">
>>>>  >>                 <property name="sessionFactory">
>>>>  >>                         <ref bean="sessionFactory" />
>>>>  >>                 </property>
>>>>  >>         </bean>
>>>>  >>
>>>>  >>
>>>>  >>  When this code runs in Spring context, it works. So, where is the
>>>> issue
>>>>  >> with
>>>>  >>  Camel ??
>>>>  >>
>>>>  >>  Regards,
>>>>  >>
>>>>  >>  Charles
>>>>  >>
>>>>  >>
>>>>  >>  --
>>>>  >>  View this message in context:
>>>>  >>
>>>> http://www.nabble.com/BeanFactoryAware-%28Spring%29-tp16122107s22882p16122107.html
>>>>  >>  Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>  >>
>>>>  >>
>>>>  >
>>>>  >
>>>>  > --
>>>>  > James
>>>>  > -------
>>>>  > http://macstrac.blogspot.com/
>>>>  >
>>>>  > Open Source Integration
>>>>  > http://open.iona.com
>>>>  >
>>>>  >
>>>>
>>>>
>>>> --
>>>>  View this message in context:
>>>> http://www.nabble.com/BeanFactoryAware-%28Spring%29-tp16122107s22882p16124218.html
>>>>
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>>       
>>> -- 
>>> James
>>> -------
>>> http://macstrac.blogspot.com/
>>>
>>> Open Source Integration
>>> http://open.iona.com
>>>
>>>
>>>     
>>
>>   
> 
> 
> 
> -----
> ---
> Gert Vanthienen
> http://www.anova.be
> 

-- 
View this message in context: 
http://www.nabble.com/BeanFactoryAware-%28Spring%29-tp16122107s22882p16140117.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to