NoBeanAvailableException: No bean available for endpoint
I have an application that routes messages from a jms queue to a bean that handles the message. I ran this application on one machine with the following routing: from uri=jms:queue:LoggingQueue/ to uri=bean:msgParser/ This worked fine. However, when running the same application on another machine, I get the following error: org.apache.camel.component.bean.NoBeanAvailableException: No bean available for endpoint: msgParser LogginQueue is the queue to which messages are sent using the JMSAppender of log4j. What could be the possible reasons for this ? Any firewall issues that might affect this ? -- View this message in context: http://www.nabble.com/NoBeanAvailableException%3A-No-bean-available-for-endpoint-tp21952684s22882p21952684.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: NoBeanAvailableException: No bean available for endpoint
Hi Looks a bit odd. Could you show your spring configuration and the routes as well? What version of Camel are you using? And how do you run it? Is Camel deployed inside some container? On Wed, Feb 11, 2009 at 12:36 PM, selezovikj semir.elezo...@gmail.com wrote: These are the log messages that are missing in the machine where the msgParser bean is not created: org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Creating shared instance of singleton bean 'msgParser' org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Creating instance of bean 'msgParser' org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Eagerly caching bean 'msgParser' to allow for resolving potential circular references org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Finished creating instance of bean 'msgParser' As it seems, an instance of the msgParser bean can not be created. I can not see any error here. Looks like it COULD create a bean. selezovikj wrote: I have an application that routes messages from a jms queue to a bean that handles the message. I ran this application on one machine with the following routing: from uri=jms:queue:LoggingQueue/ to uri=bean:msgParser/ This worked fine. However, when running the same application on another machine, I get the following error: org.apache.camel.component.bean.NoBeanAvailableException: No bean available for endpoint: msgParser LogginQueue is the queue to which messages are sent using the JMSAppender of log4j. What could be the possible reasons for this ? Any firewall issues that might affect this ? -- View this message in context: http://www.nabble.com/NoBeanAvailableException%3A-No-bean-available-for-endpoint-tp21952684s22882p21953053.html Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/
Re: NoBeanAvailableException: No bean available for endpoint
Looking deeper into this issue I also found the following logs: In the working version you can see that it is trying to match the resources: org.springframework.core.io.support.PathMatchingResourcePatternResolver DEBUG - Looking for matching resources in directory tree [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger] [2009-02-11 10:58:29,094] org.springframework.core.io.support.PathMatchingResourcePatternResolver DEBUG - Searching directory [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger] for files matching pattern [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/**/*.class] [2009-02-11 10:58:29,097] org.springframework.core.io.support.PathMatchingResourcePatternResolver DEBUG - Resolved location pattern [classpath*:com/ee/jmslogger/**/*.class] to resources [f ile [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/MessageParserService.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/MessageParserServiceImpl.class], file [/home/be/2 esrc/jmslogger/classes/com/ee/jmslogger/MessageFilterServiceImpl.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/ContentRouterService.class], file [/home/be/2esrc/jmslogger/ classes/com/ee/jmslogger/EncapsulatedMessage.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/LoggerService.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/Da taFilter.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/MessageFilterService.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/LoggerServiceImpl.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/ContentRouterServiceImpl.class]] In the spring camel configuration I have the following code which tells camel to search for beans in the com.ee.jmslogger package: !-- scan for injected beans in the com.ee.jsmlogger package -- context:component-scan base-package=com.ee.jmslogger/ In the version that is not working, it doesn't try to scan the package: org.springframework.core.io.support.PathMatchingResourcePatternResolver DEBUG - Resolved location pattern [classpath*:com/ee/jmslogger/**/*.class] to resources [] [2009-02-11 10:34:14,501] org.springframework.beans.factory.xml.BeanDefinitionParserDelegate DEBUG - Neither XML 'id' nor 'name' specified - using generated bean name [org.apache.activemq. xbean.XBeanBrokerService#0] The part where it says that it is looking for matching resources is missing. Even though it is the same project and it is scanning the same package. What could possibly prevent camel from scanning the package ? selezovikj wrote: These are the log messages that are missing in the machine where the msgParser bean is not created: org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Creating shared instance of singleton bean 'msgParser' org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Creating instance of bean 'msgParser' org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Eagerly caching bean 'msgParser' to allow for resolving potential circular references org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Finished creating instance of bean 'msgParser' As it seems, an instance of the msgParser bean can not be created. selezovikj wrote: I have an application that routes messages from a jms queue to a bean that handles the message. I ran this application on one machine with the following routing: from uri=jms:queue:LoggingQueue/ to uri=bean:msgParser/ This worked fine. However, when running the same application on another machine, I get the following error: org.apache.camel.component.bean.NoBeanAvailableException: No bean available for endpoint: msgParser LogginQueue is the queue to which messages are sent using the JMSAppender of log4j. What could be the possible reasons for this ? Any firewall issues that might affect this ? -- View this message in context: http://www.nabble.com/NoBeanAvailableException%3A-No-bean-available-for-endpoint-tp21952684s22882p21953206.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: NoBeanAvailableException: No bean available for endpoint
Problem resolved. Had a problem with the classpath. Cheers, selezovikj wrote: Looking deeper into this issue I also found the following logs: In the working version you can see that it is trying to match the resources: org.springframework.core.io.support.PathMatchingResourcePatternResolver DEBUG - Looking for matching resources in directory tree [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger] [2009-02-11 10:58:29,094] org.springframework.core.io.support.PathMatchingResourcePatternResolver DEBUG - Searching directory [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger] for files matching pattern [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/**/*.class] [2009-02-11 10:58:29,097] org.springframework.core.io.support.PathMatchingResourcePatternResolver DEBUG - Resolved location pattern [classpath*:com/ee/jmslogger/**/*.class] to resources [f ile [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/MessageParserService.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/MessageParserServiceImpl.class], file [/home/be/2 esrc/jmslogger/classes/com/ee/jmslogger/MessageFilterServiceImpl.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/ContentRouterService.class], file [/home/be/2esrc/jmslogger/ classes/com/ee/jmslogger/EncapsulatedMessage.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/LoggerService.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/Da taFilter.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/MessageFilterService.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/LoggerServiceImpl.class], file [/home/be/2esrc/jmslogger/classes/com/ee/jmslogger/ContentRouterServiceImpl.class]] In the spring camel configuration I have the following code which tells camel to search for beans in the com.ee.jmslogger package: !-- scan for injected beans in the com.ee.jsmlogger package -- context:component-scan base-package=com.ee.jmslogger/ In the version that is not working, it doesn't try to scan the package: org.springframework.core.io.support.PathMatchingResourcePatternResolver DEBUG - Resolved location pattern [classpath*:com/ee/jmslogger/**/*.class] to resources [] [2009-02-11 10:34:14,501] org.springframework.beans.factory.xml.BeanDefinitionParserDelegate DEBUG - Neither XML 'id' nor 'name' specified - using generated bean name [org.apache.activemq. xbean.XBeanBrokerService#0] The part where it says that it is looking for matching resources is missing. Even though it is the same project and it is scanning the same package. What could possibly prevent camel from scanning the package ? selezovikj wrote: These are the log messages that are missing in the machine where the msgParser bean is not created: org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Creating shared instance of singleton bean 'msgParser' org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Creating instance of bean 'msgParser' org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Eagerly caching bean 'msgParser' to allow for resolving potential circular references org.springframework.beans.factory.support.DefaultListableBeanFactory DEBUG - Finished creating instance of bean 'msgParser' As it seems, an instance of the msgParser bean can not be created. selezovikj wrote: I have an application that routes messages from a jms queue to a bean that handles the message. I ran this application on one machine with the following routing: from uri=jms:queue:LoggingQueue/ to uri=bean:msgParser/ This worked fine. However, when running the same application on another machine, I get the following error: org.apache.camel.component.bean.NoBeanAvailableException: No bean available for endpoint: msgParser LogginQueue is the queue to which messages are sent using the JMSAppender of log4j. What could be the possible reasons for this ? Any firewall issues that might affect this ? -- View this message in context: http://www.nabble.com/NoBeanAvailableException%3A-No-bean-available-for-endpoint-tp21952684s22882p21956002.html Sent from the Camel - Users mailing list archive at Nabble.com.