<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements.  See the NOTICE.txt 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.
-->
<cas:queue-to-backend-mapping xmlns:cas="http://oodt.jpl.nasa.gov/1.0/cas">
	<queue name="example">
		<scheduler factory="org.apache.oodt.cas.resource.scheduler.LRUSchedulerFactory"/>
		<monitor factory="org.apache.oodt.cas.resource.monitor.AssignmentMonitorFactory"/>
		<batchmgr factory="org.apache.oodt.cas.resource.batchmgr.XmlRpcBatchMgrFactory"/>
	</queue>
</cas:queue-to-backend-mapping>
