Are your beans in other bundles?
If so, seems it's caused by bundle start sequence.
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"):
What version of Fuse ESB are you using?
We use this version : 4.4.1-fuse-03-06
All the bundles are started...
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
to hold the xx.xxx.interfaces.load.load3.Load3Service
<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 ?