Hi, I'm trying to test Groovy based on this tutorial --> http://incubator.apache.org/servicemix/groovy.html
I've added these dependencies to my lwcontainer project: - groovy 1.0 - livetribe-jsr223 2.0.0 I'm getting the following exception when I'm trying to deploy to SM 3.1: <?xml version="1.0" encoding="UTF-8"?> <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message" version="1.0 "> <jbi-task-result> <frmwk-task-result> <frmwk-task-result-details> <task-result-details> <task-id>start</task-id> <task-result>FAILED</task-result> <message-type>ERROR</message-type> </task-result-details> </frmwk-task-result-details> </frmwk-task-result> <component-task-result xmlns="http://java.sun.com/xml/ns/jbi/management-message" > <component-name>servicemix-lwcontainer</component-name> <component-task-result-details> <task-result-details> <task-id>start</task-id> <task-result>FAILED</task-result> <message-type>ERROR</message-type> <task-status-msg> <msg-loc-info> <loc-token/> <loc-message>Unable to start service unit</loc-message> </msg-loc-info> </task-status-msg> <exception-info> <nesting-level>1</nesting-level> <msg-loc-info> <loc-token/> <loc-message>Must be configured with eit her the 'compiledScript' or 'engine' property</loc-message> <stack-trace><![CDATA[javax.jbi.JBIExcep tion: Must be configured with either the 'compiledScript' or 'engine' property at org.apache.servicemix.components.script.ScriptComponent.start(ScriptC omponent.java:83) at org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doStart(Compon entMBeanImpl.java:293) at org.apache.servicemix.jbi.framework.ComponentMBeanImpl.start(Componen tMBeanImpl.java:216) at org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JB IContainer.java:1122) at org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JB IContainer.java:1074) at org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JB IContainer.java:1031) at org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JB IContainer.java:979) at org.apache.servicemix.lwcontainer.LwContainerEndpoint.activate(LwCont ainerEndpoint.java:53) at org.apache.servicemix.common.ServiceUnit.start(ServiceUnit.java:55) at org.apache.servicemix.common.BaseServiceUnitManager.start(BaseService UnitManager.java:151) at org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.start(Servic eUnitLifeCycle.java:103) at org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(Se rviceAssemblyLifeCycle.java:130) at org.apache.servicemix.jbi.framework.DeploymentService.start(Deploymen tService.java:374) at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchi ve(AutoDeploymentService.java:336) at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExter nalArchive(AutoDeploymentService.java:201) at org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchiv e(JBIContainer.java:473) at org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchiv e(JBIContainer.java:483) at org.apache.servicemix.jbi.framework.AdminCommandsService.deployServic eAssembly(AdminCommandsService.java:229) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.jav a:216) at org.apache.servicemix.jbi.management.BaseStandardMBean.invoke(BaseSta ndardMBean.java:318) at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImp l.java:213) at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultM BeanServerInterceptor.java:815) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784 ) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnecti onImpl.java:1408) at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectio nImpl.java:81) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run (RMIConnectionImpl.java:1245) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(R MIConnectionImpl.java:1348) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImp l.java:782) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294) at sun.rmi.transport.Transport$1.run(Transport.java:153) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:149) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4 66) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport .java:707) at java.lang.Thread.run(Thread.java:595) ]]></stack-trace> </msg-loc-info> </exception-info> </task-result-details> </component-task-result-details> </component-task-result> </jbi-task-result> </jbi-task> I've changed my lwcontainer servicemix.xml file to include the example of "Maintaining state across requests". I've looked the GroovyComponent source and there is a set to the script engine name, which is "groovy". I've neved used Groovy so I can't really comment... Any idea? Another thing is the groovy component going to re-submit the modified input message to the NMR? (so I can re-send the message to another provider). I'm just discovering SM, so just wondering if there is a concept like the pipeline pattern (for example in Apache Cocoon). In summary, I would like to do the following: FilePooler --> GroovyComponent --> MimeMailSender Do I need anything else? How do I manage one consumer with multiple providers in parallel? So every provider does something independently with the consumer message. Regards, Cedric.
