I tried and the context:annotation-config worked fine within a servicemix-jms service unit. I now have a hunch that what might be going on is that I have an interface (or superclass) with a @PostConstruct on it and then to be safe, I added a @PostConstruct to the overriden init method (because I'm not not full sure of the complete rules with the annotations). I'm wondering if that's what's causing the ClassCircularityError. I'll give this another shot shortly. Still trying to get everything migrated to Servicemix 4.0. I did manage to get things to run in Servicemix 4.0, but I had to remove my global configuration jars and a few other things that'll I have to figure out how to incorporate into this new release properly.
Ryan On Mon, Aug 31, 2009 at 10:20 AM, Chris Custine <[email protected]>wrote: > Hi Ryan, > A simple test project would be a big help. If you want, you can go ahead > and create a Jira issue for this as well, and attach the test project to > it. Debugging this should be interesting ;-) > > Chris > -- > Chris Custine > FUSESource :: http://fusesource.com > My Blog :: http://blog.organicelement.com > Apache ServiceMix :: http://servicemix.apache.org > Apache Directory Server :: http://directory.apache.org > > > On Mon, Aug 31, 2009 at 6:08 AM, Ryan Moquin <[email protected]> > wrote: > > > I changed my code to use the "default-init-method" parameter and removed > > the > > <context:annotation-config/> which got around the problem, hopefully I'll > > be > > able to go back to the annotations at some point. I would actually debug > > it > > for you, but I'm not sure exactly how you would debug this sort of error > > since it has to do with class relationships. I'll see if I can at least > > create a simple example for you to try out. > > > > On Mon, Aug 31, 2009 at 1:13 AM, Chris Custine <[email protected] > > >wrote: > > > > > You shouldn't have to change to OSGi packaging for this. Having said > > that, > > > there might be something we need to do when we deploy the JBI SA to > make > > > this work. I'm actually a bit puzzled about this one right now. I > will > > > try > > > to do a simple deployment locally in the next few days and see if I can > > > make > > > it work, and if I can reproduce the error then I can at least debug it. > > > > > > Chris > > > > > > -- > > > Chris Custine > > > FUSESource :: http://fusesource.com > > > My Blog :: http://blog.organicelement.com > > > Apache ServiceMix :: http://servicemix.apache.org > > > Apache Directory Server :: http://directory.apache.org > > > > > > > > > On Sun, Aug 30, 2009 at 5:44 PM, Ryan Moquin <[email protected]> > > > wrote: > > > > > > > I'm not using the osgi bundling for my service engine that has the > > > problem, > > > > do I have to use the osgi bundling? I'm a little unsure about the > osgi > > > > bundling compared to the jbi bundling. I don't want to make things > > > > incompatible on the off chance I need to be able to run our stuff on > > > > another > > > > server (which I don't want to do). I'm not sure if the osgi bundling > > > might > > > > somehow help with this issue. > > > > > > > > On Sun, Aug 30, 2009 at 5:44 PM, Chris Custine < > > [email protected] > > > > >wrote: > > > > > > > > > Yes, I believe you have to have either <context:annotation-config > /> > > or > > > > > <context:component-scan ... /> in order to invoke the > > > > > CommonAnnotationBeanPostProcessor which supports these annotations. > > > Have > > > > > you used these annotated beans anywhere outside of SMX 4? The > > > > circularity > > > > > error points to org/springframework/beans/ > > > > > > > > > > > > > > > factory/annotation/InitDestroyAnnotationBeanPostProcessor$LifecycleElement > > > > > so I doubt this could be some config problem on your end. If you > > have > > > > used > > > > > these beans successfully outside of SMX4 it might point to an OSGi > > > > > classloader type of issue. > > > > > > > > > > Chris > > > > > > > > > > -- > > > > > Chris Custine > > > > > FUSESource :: http://fusesource.com > > > > > My Blog :: http://blog.organicelement.com > > > > > Apache ServiceMix :: http://servicemix.apache.org > > > > > Apache Directory Server :: http://directory.apache.org > > > > > > > > > > > > > > > On Sun, Aug 30, 2009 at 1:15 PM, Ryan Moquin < > [email protected] > > > > > > > > wrote: > > > > > > > > > > > I was finally able to resume troubleshooting this issue since I > > would > > > > > > really > > > > > > like to get onto Servicemix 4.0 and simply future deployments. > > > > > > > > > > > > I seem to have figured out what causes this error, but I'm not > sure > > > > why. > > > > > > The cause is if you include: > > > > > > > > > > > > <context:annotation-config/> > > > > > > > > > > > > in any of your xbean.xml deployment files or if it imports any > > spring > > > > > xmls > > > > > > that include that entry. Once I removed that, it went away and > my > > > > > service > > > > > > unit seemed to deploy. > > > > > > > > > > > > Is that statement necessary if I want PostConstruct and other > > > lifecycle > > > > > > annotations to be processed? > > > > > > > > > > > > Ryan > > > > > > > > > > > > On Mon, Jul 20, 2009 at 10:28 AM, Chris Custine < > > > > [email protected] > > > > > > >wrote: > > > > > > > > > > > > > This is kind of odd. Did you have any luck getting this > resolved > > > > yet? > > > > > > > -- > > > > > > > Chris Custine > > > > > > > FUSESource :: http://fusesource.com > > > > > > > My Blog :: http://blog.organicelement.com > > > > > > > Apache ServiceMix :: http://servicemix.apache.org > > > > > > > Apache Directory Server :: http://directory.apache.org > > > > > > > > > > > > > > > > > > > > > On Sat, Jul 18, 2009 at 1:32 PM, Ryan Moquin < > > > [email protected] > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > I've almost gotten everything working in the Servicemix Fuse > > 4.1 > > > > > > > Snapshot, > > > > > > > > except for some of my serviceunits which give me a very > strange > > > > > error. > > > > > > > It > > > > > > > > seems like a dependency conflict, but nothing I try to do > seems > > > to > > > > > fix > > > > > > > it. > > > > > > > > The error does not occur on Servicemix 3.3.1 where all of my > > > custom > > > > > > > > components and service units work. Is there something in the > > > > > > servicemix > > > > > > > > 4.0 > > > > > > > > distribution that might cause some sort of conflict resulting > > in > > > > the > > > > > > > > following error? Or does this error ring a bell on how I > might > > > > > figure > > > > > > it > > > > > > > > out? As I mentioned, I don't get any errors when I deploy on > > > > > > Servicemix > > > > > > > > 3.3.1.. so it's some sort of jar difference between the > two... > > > > > > > > > > > > > > > > javax.jbi.management.DeploymentException: > > <component-task-result > > > > > > xmlns=" > > > > > > > > http://java.sun.com/xml/ns/jbi/management-message"> > > > > > > > > <component-name>feed-service-se</component-name> > > > > > > > > <component-task-result-details> > > > > > > > > <task-result-details> > > > > > > > > <task-id>deploy</task-id> > > > > > > > > <task-result>FAILED</task-result> > > > > > > > > <message-type>ERROR</message-type> > > > > > > > > > > > > > > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could > > > > > > > > not deploy xbean service > > > > > > > > unit</loc-message></msg-loc-info></task-status-msg> > > > > > > > > <exception-info> > > > > > > > > <nesting-level>1</nesting-level> > > > > > > > > <msg-loc-info> > > > > > > > > <loc-token /> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <loc-message>org/springframework/beans/factory/annotation/InitDestroyAnnotationBeanPostProcessor$LifecycleElement</loc-message> > > > > > > > > > > > > > > <stack-trace><![CDATA[java.lang.ClassCircularityError: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org/springframework/beans/factory/annotation/InitDestroyAnnotationBeanPostProcessor$LifecycleElement > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(InitDestroyAnnotationBeanPostProcessor.java:121) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:275) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:745) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:448) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) > > > > > > > > at java.security.AccessController.doPrivileged(Native > > Method) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:87) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:100) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:204) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.impl.Deployer.checkPendingInstallers(Deployer.java:552) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.impl.Deployer.lifeCycleChanged(Deployer.java:602) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.artifacts.AbstractLifecycleJbiArtifact.fireEvent(AbstractLifecycleJbiArtifact.java:102) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.artifacts.AbstractLifecycleJbiArtifact.fireEvent(AbstractLifecycleJbiArtifact.java:92) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.artifacts.ComponentImpl$ComponentWrapper.init(ComponentImpl.java:251) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegister(ComponentRegistryImpl.java:97) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegister(ComponentRegistryImpl.java:37) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.nmr.core.ServiceRegistryImpl.register(ServiceRegistryImpl.java:47) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.nmr.osgi.OsgiServiceRegistryTracker.addingService(OsgiServiceRegistryTracker.java:79) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.osgi.util.tracker.ServiceTracker$Tracked.trackAdding(ServiceTracker.java:1030) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.osgi.util.tracker.ServiceTracker$Tracked.track(ServiceTracker.java:1008) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:933) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:846) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:704) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:635) > > > > > > > > at > > > > > > > org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3393) > > > > > > > > at > > org.apache.felix.framework.Felix.access$000(Felix.java:39) > > > > > > > > at > > > > > org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:622) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:576) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:86) > > > > > > > > at > > > > > org.apache.felix.framework.Felix.registerService(Felix.java:2527) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.impl.Deployer.registerService(Deployer.java:748) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.impl.Deployer.registerComponent(Deployer.java:437) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.impl.ComponentInstaller.initComponent(ComponentInstaller.java:413) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.impl.ComponentInstaller.install(ComponentInstaller.java:133) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:354) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:284) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:771) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:700) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:597) > > > > > > > > at > > > > > org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3382) > > > > > > > > at > > > org.apache.felix.framework.Felix.startBundle(Felix.java:1517) > > > > > > > > at > > > > > org.apache.felix.framework.BundleImpl.start(BundleImpl.java:770) > > > > > > > > at > > > > > org.apache.felix.framework.BundleImpl.start(BundleImpl.java:751) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.kernel.filemonitor.FileMonitor.refreshPackagesAndStartOrUpdateBundles(FileMonitor.java:549) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.kernel.filemonitor.FileMonitor.onFilesChanged(FileMonitor.java:299) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.servicemix.kernel.filemonitor.FileMonitor$3$1.run(FileMonitor.java:318) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > > > > > > > at > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > > > > > > > > at java.lang.Thread.run(Thread.java:619) > > > > > > > > ]]></stack-trace> > > > > > > > > </msg-loc-info> > > > > > > > > </exception-info> > > > > > > > > </task-result-details> > > > > > > > > </component-task-result-details> > > > > > > > > </component-task-result> > > > > > > > > > > > > > > > > > > > > > > > > Thanks for any help! > > > > > > > > Ryan > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
