-
1. Re: org.apache.camel.NoSuchBeanException:No bean could be found in the registry
ffang Jan 22, 2013 7:58 AM (in response to cfalletta)Hi,
Are your beans in other bundles?
If so, seems it's caused by bundle start sequence.
Freeman
-
2. Re: org.apache.camel.NoSuchBeanException:No bean could be found in the registry
cfalletta Jan 22, 2013 8:33 AM (in response to ffang)Hi! Thanks for the reply!
No, it's not in the same bundle. Our bundles are defined in features.xml, the section that we're interested in is the following (what we install is "application-load123-full"):
-
3. Re: org.apache.camel.NoSuchBeanException:No bean could be found in the registry
davsclaus Jan 22, 2013 9:13 AM (in response to cfalletta)What version of Fuse ESB are you using?
-
4. Re: org.apache.camel.NoSuchBeanException:No bean could be found in the registry
cfalletta Jan 22, 2013 9:31 AM (in response to davsclaus)Hello,
We use this version : 4.4.1-fuse-03-06
All the bundles are started...
Cédric
-
5. Re: org.apache.camel.NoSuchBeanException:No bean could be found in the registry
ffang Jan 22, 2013 9:54 AM (in response to cfalletta)Hi,
OK, most likely when your camel router bundle trigger message sent, the bundle which contain Load3Service isn't fully up yet.
To specify the bundle start sequence, you can add start-level attribute for the bundle, low start-level bundle get started first. Though this generally helps, per the asyn nature of OSGi, it can't guarantee a bundle with low start-level can get fully up before a high start-level bundle. Honestly, your business logic which depend on the bundle start sequence isn't a good practice in OSGi container.
If you really wanna a bundle start before another one, the only reliable way I know is bundleA expose an OSGi service and bundleB hold this OSGi service reference, so that can guarantee bundleA is fully up before bundleB.
So back to your project, your camel router bundle need add
<osgi:reference >
to hold the xx.xxx.interfaces.load.load3.Load3Service
Freeman
-
6. Re: org.apache.camel.NoSuchBeanException:No bean could be found in the registry
cfalletta Jan 23, 2013 5:53 AM (in response to ffang)Hello !
i've put
<osgi:reference id="xx.xxx.interfaces.load.load3.Load3Service" interface="xx.xxx.interfaces.load.load3.Load3Service"/>
outside my camelContext (unchanged) but nothing changes.
Any other suggestions ?