<?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:jms="http://servicemix.apache.org/jms/1.0"
       xmlns:lb="urn:logicblaze:soa:loanbroker">

  <jms:endpoint service="lb:LoanBrokerService"
                endpoint="broker"
                targetService="lb:LoanBrokerService"
                defaultOperation="lb:getLoanQuote" 
                role="consumer"
                connectionFactory="#jmsFactory"
                destinationStyle="queue"
                jmsProviderDestinationName="demo.org.servicemix.source"
                defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />

  <bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
    <property name="connectionFactory">
      <bean class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL" value="tcp://localhost:61616" />
      </bean>
    </property>
  </bean>

</beans>
