<?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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/context 
           http://www.springframework.org/schema/context/spring-context-3.0.xsd"
       default-lazy-init="true">

  <context:annotation-config/>
  <context:component-scan base-package="org.apache.archiva.scheduler.repository"/>

  <bean name="taskQueue#repository-scanning" class="org.apache.archiva.components.taskqueue.DefaultTaskQueue"/>

  <bean name="taskQueueExecutor#repository-scanning" class="org.apache.archiva.components.taskqueue.execution.ThreadedTaskQueueExecutor">
    <property name="name" value="repository-scanning"/>
    <property name="executor" ref="taskExecutor#repository-scanning"/>
    <property name="queue" ref="taskQueue#repository-scanning"/>
  </bean>
  <alias name="archivaTaskScheduler#repository" alias="scheduler#repository"/>

  <!--
  olamy we can use this if one day we move away from the old plexus stuff :-)
  btw comment this as it breaks unit tests in web as depending on classloader loading
  it override beans with same name but with type org.apache.archiva.components.scheduler.DefaultScheduler
  <task:scheduler id="scheduler" pool-size="10"/>
  -->
</beans>