| /* |
| * 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. |
| */ |
| |
| Simple Configuration Only Example |
| ================================= |
| |
| Purpose |
| ------- |
| Add new endpoints using XML configuration files only. |
| |
| |
| Explanation |
| ----------- |
| There are two parts to this example: Quartz and Groovy. In both cases, |
| the JBI endpoints are specified in Spring XML files. When the XML files |
| are deployed to ServiceMix the endpoints are automatically registered |
| in the NMR. |
| |
| 1. Quartz |
| The quartz.xml file, located in the same director as this README, |
| shows you how to deploy a Camel route together with a JBI endpoint |
| in the same XML file. It contains configuration for using the |
| Quartz job scheduling system to send messages periodically to |
| a JBI endpoint called 'endpoint'. These messages are routed, |
| using Camel, to the 'test' logger. |
| |
| 2. Groovy: |
| The groovy.xml file, also located in the same directory as this |
| README, demonstrates how to embed a service implementation in a |
| configuration file, using a scripting language. In this case, we |
| use groovy. It uses quartz to send a message every second to the |
| service 'receiver'. This service is defined as a scripting endpoint, |
| written in Groovy, using the ServiceMix scripting service engine. |
| The Groovy script is stored in ServiceMix's document repository |
| and the script is executed whenever a message is received by the |
| 'receiver' service. |
| |
| |
| Prerequisites for Running the Example |
| ------------------------------------- |
| 1. You must have the following installed on your machine: |
| |
| - JDK 1.5 or higher |
| |
| For more information, see the README in the top-level examples |
| directory. |
| |
| 2. Start ServiceMix by running the following command: |
| |
| <servicemix_home>/bin/servicemix (on UNIX) |
| <servicemix_home>\bin\servicemix (on Windows) |
| |
| |
| Running the Example |
| ------------------- |
| To run the example, copy either of the XML files, quartz.xml or |
| groovy.xml, from the examples/simple directory to the |
| <servicemix_home>/deploy directory. |
| |
| When the quartz.xml file is copied to the deploy directory, it sends |
| messages to the log. You can view the log entries by typing the |
| following command in the ServiceMix console: |
| |
| log:display |
| |
| You should see an entry similar to the following: |
| |
| 14:15:51,202 | INFO | x-camel-thread-4 | test |
| | rg.apache.camel.processor.Logger 88 | Exchange |
| [BodyType:javax.xml.transform.dom.DOMSource, |
| Body:<timer><name>{http://servicemix.apache.org/examples/camel} |
| service:endpoint</name><group>DEFAULT</group><fullname>DEFAULT. |
| {http://servicemix.apache.org/examples/camel}service:endpoint |
| </fullname><description/><fireTime>Mon Mar 23 14:15:51 CST 2009 |
| </fireTime></timer>] |
| |
| When the groovy.xml file is copied to the deploy directory, you should |
| see the output similar to the following displayed 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> |
| |
| |
| Removing the Example |
| -------------------- |
| To remove the example, remove the XML file from the |
| deploy directory. |