I've noticed an odd issue in SMX. I've got a few projects that run in SMX, all Blueprint Camel projects, and sometimes some of them seem to get into an infinite loop when starting up. I've (finally) tracked it down to the fact that the <cm:propertyPlaceholder> element in each of them is constantly triggering a refresh. So the bundle loads, then it goes "Oh dear, the properties file needs updating!", so it unloads the bundle, then loads it again. Then it forces an update of the properties file, forcing another bundle unload, and so on, never stopping. Except that sometimes it doesn't do that, and it just starts up normally.
Has anyone seen this behaviour before? I'm not sure if I should be reporting it as a bug in Felix or Aries... I also think it has a lot to do with the fact that I have multiple bundles that share a single configuration file - three of the bundles all share a configuration file. If I only have one bundle that uses this particular configuration file active, then no problems (well, kinda - if it has previously been in a loop, it may take a few restarts before it stops looping). It also doesn't seem to be an issue if the bundles are reasonably far apart in the startup order, which suggests a race condition, but I'm not sufficiently knowledgeable about Karaf / Aries / Felix to be able to easily debug this. The really odd bit is that it will quite happily start two of the three bundles, but get stuck on the last. Has anyone experienced this before? Is there a better way than having multiple bundles sharing one config file? I suppose I could create multiple config files and symlink them, see if that solves it. Thanks, - Andrew Thorburn
