<?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" 
	xmlns:amq="http://activemq.apache.org/schema/core" 
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd ">

	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />

	<amq:broker brokerName="localhost" useJmx="false">

		<amq:sslContext>
			<amq:sslContext keyStorePassword="password"
				keyStore="src/test/resources/server.keystore"
				trustStore="src/test/resources/client.keystore"
				trustStorePassword="password" />
		</amq:sslContext>

        <amq:plugins>
            <amq:jaasDualAuthenticationPlugin configuration="activemq-domain" sslConfiguration="activemq-ssl-domain"/>
        </amq:plugins>

		<amq:transportConnectors>
			<amq:transportConnector name="https"
				uri="https://localhost:8161?transport.needClientAuth=true" />
            <amq:transportConnector name="wss"
                uri="wss://localhost:61618?transport.needClientAuth=true"/>
		</amq:transportConnectors>
	</amq:broker>

</beans>
