blob: e03339b72cf81aa426dfbd643d23cf357d0c6122 [file] [log] [blame]
/*
* 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: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>]
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.