During jbi.init() I'm getting the NoSuchBeanDefinitionException for "broker" as it is loading the "jndi" bean (which depends on "broker"). Attached is the jndi.xml.
http://www.nabble.com/file/p20446414/jndi.xml jndi.xml ObjectOrange wrote: > > Gert, > > Sorry for the ignorance, my development skills are a little rusty! Could > it be that I didn't run the Maven install command? > > Sincerely, > > Brian > > > ObjectOrange wrote: >> >> Yes, I'm aware of that. I added new tests to it to test the new >> functionality, but when it tries to create a JBI instance, I get the >> exception below. I'm using IntelliJ and I had to add the following to the >> VM parameters: >> >> -Djava.naming.factory.initial=org.apache.xbean.spring.jndi.SpringInitialContextFactory >> -Djava.naming.provider.url=jndi.xml >> >> The jndi.xml contains a dependency on a 'broker'. Is this defined in the >> servicemix.xml? Is there some reason it's not loading? I have it in on >> the classpath. >> >> What configurations for the JBI instance am I missing? >> >> Exception: >> >> org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean >> named 'broker' is defined >> at >> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:356) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:916) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:243) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) >> at >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:337) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) >> at >> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) >> at >> org.apache.xbean.spring.jndi.SpringInitialContextFactory.getInitialContext(SpringInitialContextFactory.java:83) >> at >> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667) >> at >> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247) >> at javax.naming.InitialContext.init(InitialContext.java:223) >> at javax.naming.InitialContext.<init>(InitialContext.java:175) >> at >> org.apache.servicemix.jbi.container.JBIContainer.init(JBIContainer.java:574) >> at >> org.apache.servicemix.drools.DroolsComponentTest.setUp(DroolsComponentTest.java:48) >> at >> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40) >> >> INFO - JBIContainer - Shutting down ServiceMix JBI >> Container (ServiceMix) stopped >> Failed to shut down: java.lang.NullPointerException >> Disconnected from the target VM, address: '127.0.0.1:2424', transport: >> 'socket' >> >> Process finished with exit code -1 >> >> >> >> >> Gert Vanthienen wrote: >>> >>> Brian, >>> >>> The DroolsComponentTest is a JUnit test. It can be run manually from >>> within Eclipse by choosing Run as... -> JUnit test or from a command >>> line with 'mvn test' or 'mvn install'. These tests are also being run >>> automatically as part of the continuous integration and release builds. >>> >>> Regards, >>> >>> Gert >>> >>> ObjectOrange wrote: >>>> Gert, >>>> >>>> How do I get the DroolsComponentTest to load and start a JBI instance? >>>> I >>>> added the servicemix /conf folder to the classpath, but now I'm being >>>> told >>>> the no 'broker' exists. >>>> >>>> Brian >>>> >>>> >>>> Gert Vanthienen wrote: >>>> >>>>> Brian, >>>>> >>>>> The source for the servicemix-drools component is available at >>>>> http://svn.apache.org/repos/asf/servicemix/components/engines/servicemix-drools/trunk/. >>>>> You'll find some information on where to find our issue tracker and >>>>> how >>>>> to create patches on http://servicemix.apache.org/contributing.html. >>>>> >>>>> Regards, >>>>> >>>>> Gert >>>>> >>>>> ObjectOrange wrote: >>>>> >>>>>> Gert, >>>>>> >>>>>> Yes, the update checks to see if the Exchange has not been handled - >>>>>> answer() nor route() have been called - AND the Exchange is an InOut >>>>>> type >>>>>> AND the endpoint is acting as a Provider prior to calling answer() >>>>>> from >>>>>> the >>>>>> Drools Endpoint. >>>>>> >>>>>> I'll add this as a patch once I figure out how! :) Do you know how to >>>>>> get >>>>>> the most recent source? >>>>>> >>>>>> Regards, >>>>>> >>>>>> Brian >>>>>> >>>>>> >>>>>> Gert Vanthienen wrote: >>>>>> >>>>>> >>>>>>> Brian, >>>>>>> >>>>>>> Sure, that's a valid use case. If answer isn't called in the drools >>>>>>> file, the Exchange is never answered, so if you want to add an >>>>>>> attribute >>>>>>> to that endpoint for configuring automatic replies, that's totally >>>>>>> cool! It was just a warning that some people are using the Drools >>>>>>> component as a router and don't want the exchange to be answered >>>>>>> before >>>>>>> the exchange forwarded from drools is done. >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> Gert >>>>>>> >>>>>>> ObjectOrange wrote: >>>>>>> >>>>>>> >>>>>>>> Gert, >>>>>>>> >>>>>>>> We're not using Drools as a router, only evaluating XML attributes >>>>>>>> against >>>>>>>> some rules and then making changes to XML attributes depending on >>>>>>>> the >>>>>>>> results of those rules; we would like to not have to call answer() >>>>>>>> in >>>>>>>> the >>>>>>>> drools file as the people editing these through a GUI will not know >>>>>>>> what >>>>>>>> that means (business users). Presently, if answer() is not called >>>>>>>> in a >>>>>>>> drools file, will it get called and by what object? >>>>>>>> >>>>>>>> Regards, >>>>>>>> >>>>>>>> Brian >>>>>>>> >>>>>>>> >>>>>>>> Gert Vanthienen wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Brian, >>>>>>>>> >>>>>>>>> The first one seems a nice addition to our Drools component, so by >>>>>>>>> all >>>>>>>>> means go ahead and supply a patch for it! >>>>>>>>> >>>>>>>>> Not sure what you want to do with the last one though. The answer >>>>>>>>> method should already answer the exchange, setting the 'out' >>>>>>>>> message. >>>>>>>>> As for automatically responding with the request message, how will >>>>>>>>> you >>>>>>>>> know when to respond? The drools endpoint can send another >>>>>>>>> exchange >>>>>>>>> and >>>>>>>>> that answer can trigger a real response later. Or would you >>>>>>>>> propose >>>>>>>>> to >>>>>>>>> make this behavior optional (and configurable through a property)? >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> >>>>>>>>> Gert >>>>>>>>> >>>>>>>>> ObjectOrange wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> Thanks Gert, >>>>>>>>>> >>>>>>>>>> In the Message class: >>>>>>>>>> >>>>>>>>>> The ability to update the value of an XML attribute (identified >>>>>>>>>> by an >>>>>>>>>> XPath) >>>>>>>>>> with a string value or another XML attribute's value (identified >>>>>>>>>> by >>>>>>>>>> an >>>>>>>>>> XPath) within a Message's body. >>>>>>>>>> >>>>>>>>>> In DroolsEndpoint.drools(MessageExchange): >>>>>>>>>> >>>>>>>>>> Ensure that if the Exchange was not handled and it's an InOut >>>>>>>>>> that >>>>>>>>>> the >>>>>>>>>> "out" >>>>>>>>>> message gets returned (using DroolsExecutionContext.answer() - a >>>>>>>>>> new >>>>>>>>>> wrapper >>>>>>>>>> method to the JBIHelper.answer()) or if the "out" message does >>>>>>>>>> not >>>>>>>>>> exist >>>>>>>>>> or >>>>>>>>>> is empty, the "in" message. >>>>>>>>>> >>>>>>>>>> What do you think? >>>>>>>>>> >>>>>>>>>> Brian >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Gert Vanthienen wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Brian, >>>>>>>>>>> >>>>>>>>>>> The best way to start contributing is by creating a JIRA issue >>>>>>>>>>> to >>>>>>>>>>> propose your change and then attach a patch file to it. You can >>>>>>>>>>> find >>>>>>>>>>> more information about this on >>>>>>>>>>> http://servicemix.apache.org/contributing.html. >>>>>>>>>>> What is it you would like to change on the servicemix-drools >>>>>>>>>>> component? >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> >>>>>>>>>>> Gert >>>>>>>>>>> >>>>>>>>>>> ObjectOrange schreef: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Gert, >>>>>>>>>>>> >>>>>>>>>>>> If I make changes to the source, how can I get these into the >>>>>>>>>>>> build? >>>>>>>>>>>> Do >>>>>>>>>>>> I >>>>>>>>>>>> need to become a committer or can I request the changes to be >>>>>>>>>>>> approved >>>>>>>>>>>> by >>>>>>>>>>>> committers? >>>>>>>>>>>> >>>>>>>>>>>> Brian >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Gert Vanthienen wrote: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> Brian, >>>>>>>>>>>>> >>>>>>>>>>>>> The version of the component that uses the >>>>>>>>>>>>> DroolsExecutionContext >>>>>>>>>>>>> is >>>>>>>>>>>>> the >>>>>>>>>>>>> most recent one. The addition of the DroolsExecutionContext >>>>>>>>>>>>> is >>>>>>>>>>>>> nothing >>>>>>>>>>>>> but a simple refactoring, but this version of the component >>>>>>>>>>>>> also >>>>>>>>>>>>> uses >>>>>>>>>>>>> Drools 4.0.x. It is part of ServiceMix 3.3 and will go into >>>>>>>>>>>>> ServiceMix >>>>>>>>>>>>> 4. >>>>>>>>>>>>> >>>>>>>>>>>>> This refactoring has not been backported to the ServiceMix 3.2 >>>>>>>>>>>>> branch >>>>>>>>>>>>> and >>>>>>>>>>>>> neither has the upgrade to Drools 4.0.x, so ServiceMix 3.2.x >>>>>>>>>>>>> still >>>>>>>>>>>>> uses >>>>>>>>>>>>> Drools 3.x. >>>>>>>>>>>>> >>>>>>>>>>>>> Regards, >>>>>>>>>>>>> >>>>>>>>>>>>> Gert >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> ObjectOrange wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> I've discovered two differing copies of source for the Drools >>>>>>>>>>>>>> SE >>>>>>>>>>>>>> component, one using the DroolsExecutionContext and one not. >>>>>>>>>>>>>> Which >>>>>>>>>>>>>> is >>>>>>>>>>>>>> the >>>>>>>>>>>>>> most recent? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thx! >>>>>>>>>>>>>> Brian >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> ----- >>>>>>>>>>> --- >>>>>>>>>>> Gert Vanthienen >>>>>>>>>>> http://gertvanthienen.blogspot.com >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> ----- >>>>>>>>> --- >>>>>>>>> Gert Vanthienen >>>>>>>>> http://gertvanthienen.blogspot.com >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> ----- >>>>>>> --- >>>>>>> Gert Vanthienen >>>>>>> http://gertvanthienen.blogspot.com >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>>> ----- >>>>> --- >>>>> Gert Vanthienen >>>>> http://gertvanthienen.blogspot.com >>>>> >>>>> >>>> >>>> >>> >>> >>> >>> ----- >>> --- >>> Gert Vanthienen >>> http://gertvanthienen.blogspot.com >>> >> >> > > -- View this message in context: http://www.nabble.com/ServiceMix-Drools-SE%3A-DroolsExecutionContext-tp20249810p20446414.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
