<?xml version="1.0" encoding="UTF-8"?>
<!--

    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:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
    ">
    <bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent"/>

    <bean id="jms" class="org.apache.camel.component.activemq.ActiveMQComponent">
        <property name="brokerURL" value="vm://localhost?broker.persistent=false&amp;create=false"/>
    </bean>

    <camelContext xmlns="http://camel.apache.org/schema/spring" trace="true">
        <route streamCache="true">
            <from uri="jetty:http://localhost:{{JettyMulticastJmsFileTest.port}}/JettyMulticastJmsFileTest"/>
            <multicast>
                <to uri="jms:queue:JettyMulticastJmsFileTestFoo" pattern="InOnly"/>
                <to uri="file://target/jetty" pattern="InOnly"/>
            </multicast>
            <transform>
                <constant>Bye World</constant>
            </transform>
        </route>
    </camelContext>

</beans>
