<?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.
-->
<configuration>
	<testURI value="xms:wmq://localhost:1414">
		<userName value="guest"/>
		<passWord value="guest"/>
		<defaultTestQueue value="queue://TEST.QUEUE"/>
		<defaultTestTopic value="topic://TEST.TOPIC"/>
		<durableConsumerTestTopic value="topic://TEST.DURABLE.CONSUMER.TOPIC"/>
		<messageSelectorTestQueue value="queue://TEST.SELECTOR.MESSAGE.QUEUE"/>
		<messageSelectorTestTopic value="topic://TEST.SELECTOR.MESSAGE.TOPIC"/>
		<deletionTestQueue value="queue://TEST.DELETION.QUEUE"/>
		<deletionTestTopic value="topic://TEST.DELETION.TOPIC"/>
		<deletionTestTempQueue value="temp-queue://TEST.DELETION.TEMP.QUEUE"/>
		<deletionTestTempTopic value="temp-topic://TEST.DELETION.TEMP.TOPIC"/>
		<transactionTestQueue value="queue://TEST.TRANSACTION.QUEUE"/>
	</testURI>
</configuration>
