You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ge...@apache.org on 2008/08/08 14:40:52 UTC
svn commit: r683954 - in /servicemix/smx4/features/trunk/examples/simple: ./
README.txt groovy.xml quartz.xml
Author: gertv
Date: Fri Aug 8 05:40:52 2008
New Revision: 683954
URL: http://svn.apache.org/viewvc?rev=683954&view=rev
Log:
SMX4-83: Adding the simple XML examples
Added:
servicemix/smx4/features/trunk/examples/simple/
servicemix/smx4/features/trunk/examples/simple/README.txt
servicemix/smx4/features/trunk/examples/simple/groovy.xml
servicemix/smx4/features/trunk/examples/simple/quartz.xml
Added: servicemix/smx4/features/trunk/examples/simple/README.txt
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/examples/simple/README.txt?rev=683954&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/examples/simple/README.txt (added)
+++ servicemix/smx4/features/trunk/examples/simple/README.txt Fri Aug 8 05:40:52 2008
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+Welcome to the ServiceMix simple xml deployment examples
+========================================================
+
+This example leverages ServiceMix 4 support for deploying simple XML files to add new endpoints.
+
+Quick steps to install the sample
+---------------------------------
+
+Launch the ServiceMix Kernel by running
+ bin/servicemix
+in the root dir of this distribution.
+
+Just copy any of the XML files in this directory to the /deploy directory in the root dir of this distribution
+to deploy the sample.
+
+
+Testing the example
+-------------------
+
+When the groovy.xml file is copied to the deploy directory, you should see output in the console:
+
+Starting JSR-223 groovy processor
+org.apache.servicemix.jbi.runtime.impl.InOnlyImpl@41a330e4
+Hello, I got an input message <?xml version="1.0" encoding="UTF-8" standalone="no"?><timer><name>{http://servicemix.apache.org/examples/groovy}service:endpoint</name><group>DEFAULT</group><fullname>DEFAULT.{http://servicemix.apache.org/examples/groovy}service:endpoint</fullname><description/><fireTime>Fri Aug 08 13:50:16 CEST 2008</fireTime></timer>
+
+
+When the quartz.xml file is copied to the deploy directory, you can use the 'log d' command in the console to see this output in the log files:
+
+14:04:53,709 | INFO | x-camel-thread-3 | test | rg.apache.camel.processor.Logger 88 | Exchange[null]
+
+
+How does it work?
+-----------------
+
+The installation leverages ServiceMix Kernel by installing a plain Spring XML file.
+The JBI endpoints in the Spring XML file will automatically be registered in the NMR.
+The quartz.xml file also shows how you can deploy a Camel route together with JBI endpoints from the same XML file.
+
+Both files have a servicemix-quartz endpoint that sends a new message exchange on a regular interval.
+In groovy.xml, this exchange is handled by a Groovy script through the servicemix-scripting SE.
+In quartz.xml, the exchange is sent directly to a Camel route.
Added: servicemix/smx4/features/trunk/examples/simple/groovy.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/examples/simple/groovy.xml?rev=683954&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/examples/simple/groovy.xml (added)
+++ servicemix/smx4/features/trunk/examples/simple/groovy.xml Fri Aug 8 05:40:52 2008
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:quartz="http://servicemix.apache.org/quartz/1.0"
+ xmlns:scripting="http://servicemix.apache.org/scripting/1.0"
+ xmlns:camel="http://activemq.apache.org/camel/schema/spring"
+ xmlns:osgi="http://www.springframework.org/schema/osgi"
+ xmlns:b="http://servicemix.apache.org/examples/groovy"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
+ http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd
+ http://www.springframework.org/schema/osgi-compendium http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium.xsd
+ http://servicemix.apache.org/quartz/1.0 http://servicemix.apache.org/quartz/1.0/servicemix-quartz.xsd
+ http://servicemix.apache.org/scripting/1.0 http://servicemix.apache.org/scripting/1.0/servicemix-scripting.xsd
+ http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
+ http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd">
+
+ <quartz:endpoint service="b:service" endpoint="endpoint" targetService="b:receiver">
+ <quartz:trigger>
+ <quartz:simple repeatCount="500" repeatInterval="1000" startDelay="2000" />
+ </quartz:trigger>
+ </quartz:endpoint>
+
+ <scripting:endpoint service="b:receiver" endpoint="endpoint"
+ script="document-name:myscript"
+ language="groovy" />
+
+ <bean id="myscript" class="org.apache.servicemix.document.factory.DocumentFactory">
+ <property name="repository" ref="repository" />
+ <property name="document">
+ <value>
+ import javax.jbi.messaging.MessageExchange;
+ import javax.jbi.messaging.NormalizedMessage;
+ import org.apache.servicemix.jbi.jaxp.StringSource;
+ import org.apache.servicemix.jbi.jaxp.SourceTransformer;
+
+ println "Starting JSR-223 groovy processor";
+
+ println exchange;
+ def inputMessage = new SourceTransformer().toString(inMessage.getContent());
+ println "Hello, I got an input message " + inputMessage;
+ NormalizedMessage out = exchange.createMessage();
+ out.setContent(new StringSource("<response>" + bindings.get("answerGroovy") + "</response>"));
+ exchange.setMessage(out, "out");
+ println exchange;
+
+ println "Stopping JSR-223 groovy processor";
+ </value>
+ </property>
+ </bean>
+
+ <osgi:reference id="repository" interface="org.apache.servicemix.document.DocumentRepository" />
+
+ <bean class="org.apache.servicemix.common.osgi.EndpointExporter" />
+
+</beans>
Added: servicemix/smx4/features/trunk/examples/simple/quartz.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/examples/simple/quartz.xml?rev=683954&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/examples/simple/quartz.xml (added)
+++ servicemix/smx4/features/trunk/examples/simple/quartz.xml Fri Aug 8 05:40:52 2008
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:quartz="http://servicemix.apache.org/quartz/1.0"
+ xmlns:camel="http://activemq.apache.org/camel/schema/spring"
+ xmlns:osgi="http://www.springframework.org/schema/osgi"
+ xmlns:b="http://servicemix.apache.org/examples/camel"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd
+ http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi.xsd
+ http://www.springframework.org/schema/osgi-compendium
+ http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium.xsd
+ http://servicemix.apache.org/quartz/1.0
+ http://servicemix.apache.org/quartz/1.0/servicemix-quartz.xsd
+ http://activemq.apache.org/camel/schema/spring
+ http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
+ http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi.xsd">
+
+ <camel:camelContext>
+ <camel:route>
+ <camel:from uri="jbi:endpoint:http://servicemix.apache.org/examples/camel/receiver/endpoint" />
+ <camel:to uri="log:test" />
+ </camel:route>
+ </camel:camelContext>
+
+ <quartz:endpoint service="b:service" endpoint="endpoint" targetService="b:receiver">
+ <quartz:trigger>
+ <quartz:simple repeatCount="500" repeatInterval="1000" startDelay="2000" />
+ </quartz:trigger>
+ </quartz:endpoint>
+
+ <osgi:reference id="jbi" interface="org.apache.camel.Component">
+ </osgi:reference>
+
+ <bean class="org.apache.servicemix.common.osgi.EndpointExporter" />
+
+</beans>