Newbie Question: Using Groovy on file sample
I am a newbie to Spring Integration and Love everything I have seen so far.
I have been experimenting with the sample apps and making minor modifications to make sure I understand them.
I am working with the file sample. I would like to implement the org.springframework.integration.sampes.filecopy.Ha ndler in Groovy.
When I test it by running TextFileCopyTest, I receive the following stack trace:
(Any Thoughts? Does someone have an example using Spring Integration and Groovy this way from the Samples?)
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'org.springframework.integration.config.ConsumerEn dpointFactoryBean#1': Cannot resolve reference to bean 'org.springframework.integration.config.ServiceAct ivatorFactoryBean#0' while setting bean property 'handler'; nested exception is org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'org.springframework.integration.config.ServiceAct ivatorFactoryBean#0': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: Found ambiguous parameter type [class java.lang.String] for method match: [public void org.springframework.integration.samples.filecopy.G roovyHandler.super$1$finalize(), public boolean org.springframework.integration.samples.filecopy.G roovyHandler.super$1$equals(java.lang.Object), public void org.springframework.integration.samples.filecopy.G roovyHandler.super$1$wait(long), public void org.springframework.integration.samples.filecopy.G roovyHandler.setMetaClass(groovy.lang.MetaClass), public java.lang.Object org.springframework.integration.samples.filecopy.G roovyHandler.this$dist$get$2(java.lang.String)]
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveReference(BeanDefinitio nValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveValueIfNecessary(BeanDe finitionValueResolver.java:106)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.applyPropertyValues(Abs tractAutowireCapableBeanFactory.java:1325)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.populateBean(AbstractAu towireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.doCreateBean(AbstractAu towireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.Abstract BeanFactory$1.getObject(AbstractBeanFactory.java:2 91)
at org.springframework.beans.factory.support.DefaultS ingletonBeanRegistry.getSingleton(DefaultSingleton BeanRegistry.java:222)
at org.springframework.beans.factory.support.Abstract BeanFactory.doGetBean(AbstractBeanFactory.java:288 )
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:563)
at org.springframework.context.support.AbstractApplic ationContext.finishBeanFactoryInitialization(Abstr actApplicationContext.java:895)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:425)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationCon text.java:197)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationCon text.java:172)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationCon text.java:158)
at org.springframework.integration.samples.filecopy.T extFileCopyTest.testTextBasedCopy(TextFileCopyTest .java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runRefle ctiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallabl e.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExpl osively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod .evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner. java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRu nner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentR unner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRu nner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRu nner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.ja va:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestR eference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecutio n.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'org.springframework.integration.config.ServiceAct ivatorFactoryBean#0': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: Found ambiguous parameter type [class java.lang.String] for method match: [public void org.springframework.integration.samples.filecopy.G roovyHandler.super$1$finalize(), public boolean org.springframework.integration.samples.filecopy.G roovyHandler.super$1$equals(java.lang.Object), public void org.springframework.integration.samples.filecopy.G roovyHandler.super$1$wait(long), public void org.springframework.integration.samples.filecopy.G roovyHandler.setMetaClass(groovy.lang.MetaClass), public java.lang.Object org.springframework.integration.samples.filecopy.G roovyHandler.this$dist$get$2(java.lang.String)]
at org.springframework.beans.factory.support.FactoryB eanRegistrySupport.doGetObjectFromFactoryBean(Fact oryBeanRegistrySupport.java:149)
at org.springframework.beans.factory.support.FactoryB eanRegistrySupport.getObjectFromFactoryBean(Factor yBeanRegistrySupport.java:102)
at org.springframework.beans.factory.support.Abstract BeanFactory.getObjectForBeanInstance(AbstractBeanF actory.java:1429)
at org.springframework.beans.factory.support.Abstract BeanFactory.doGetBean(AbstractBeanFactory.java:245 )
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveReference(BeanDefinitio nValueResolver.java:322)
... 38 more
Caused by: java.lang.IllegalArgumentException: Found ambiguous parameter type [class java.lang.String] for method match: [public void org.springframework.integration.samples.filecopy.G roovyHandler.super$1$finalize(), public boolean org.springframework.integration.samples.filecopy.G roovyHandler.super$1$equals(java.lang.Object), public void org.springframework.integration.samples.filecopy.G roovyHandler.super$1$wait(long), public void org.springframework.integration.samples.filecopy.G roovyHandler.setMetaClass(groovy.lang.MetaClass), public java.lang.Object org.springframework.integration.samples.filecopy.G roovyHandler.this$dist$get$2(java.lang.String)]
at org.springframework.util.Assert.isNull(Assert.java :89)
at org.springframework.integration.util.MessagingMeth odInvokerHelper.findHandlerMethodsForTarget(Messag ingMethodInvokerHelper.java:350)
at org.springframework.integration.util.MessagingMeth odInvokerHelper.<init>(MessagingMethodInvokerHelpe r.java:165)
at org.springframework.integration.util.MessagingMeth odInvokerHelper.<init>(MessagingMethodInvokerHelpe r.java:117)
at org.springframework.integration.util.MessagingMeth odInvokerHelper.<init>(MessagingMethodInvokerHelpe r.java:112)
at org.springframework.integration.handler.MethodInvo kingMessageProcessor.<init>(MethodInvokingMessageP rocessor.java:56)
at org.springframework.integration.handler.ServiceAct ivatingHandler.<init>(ServiceActivatingHandler.jav a:34)
at org.springframework.integration.config.ServiceActi vatorFactoryBean.createMethodInvokingHandler(Servi ceActivatorFactoryBean.java:48)
at org.springframework.integration.config.AbstractSta ndardMessageHandlerFactoryBean.createHandler(Abstr actStandardMessageHandlerFactoryBean.java:72)
at org.springframework.integration.config.AbstractSim pleMessageHandlerFactoryBean.createHandlerInternal (AbstractSimpleMessageHandlerFactoryBean.java:89)
at org.springframework.integration.config.AbstractSim pleMessageHandlerFactoryBean.getObject(AbstractSim pleMessageHandlerFactoryBean.java:68)
at org.springframework.integration.config.AbstractSim pleMessageHandlerFactoryBean.getObject(AbstractSim pleMessageHandlerFactoryBean.java:31)
at org.springframework.beans.factory.support.FactoryB eanRegistrySupport.doGetObjectFromFactoryBean(Fact oryBeanRegistrySupport.java:142)
... 43 more