<?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.

-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
           xsi:schemaLocation="
         http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
         http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
         http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd">

  <!-- blueprint property placeholders -->
  <cm:property-placeholder persistent-id="my-placeholders" update-strategy="reload">
    <cm:default-properties>
      <cm:property name="netty.port" value="9090"/>
    </cm:default-properties>
  </cm:property-placeholder>

  <!-- JMS QPid Proton Configuration -->
  <bean id="jmsConnectionFactory" class="org.apache.qpid.jms.JmsConnectionFactory">
    <property name="remoteURI" value="amqp://localhost:5672"/>
  </bean>

  <!-- Camel AMQP Component configuration -->
  <bean id="amqp" class="org.apache.camel.component.amqp.AMQPComponent">
    <property name="connectionFactory" ref="jmsConnectionFactory"/>
  </bean>

  <camelContext id="myCamel" xmlns="http://camel.apache.org/schema/blueprint">

    <!-- AMQP producer example (HTTP triggered) -->
    <route id="amqp-producer">
      <from uri="netty-http:http:localhost:{{netty.port}}/message"/>
      <log message="got Netty request, about to send AMQP message."/>
      <to uri="amqp:queue:myqueue"/>
    </route>

    <!-- AMQP Consumer example -->
    <route id="amqp-consumer">
      <from uri="amqp:queue:myqueue"/>
      <log message="got AMQP request, about to respond."/>
      <setBody>
        <simple>Hello from Camel's AMQP example</simple>
      </setBody>
    </route>

  </camelContext>
</blueprint>
