This project has retired. For details please refer to its Attic page.
Source code
001package org.apache.archiva.indexer.merger;
002/*
003 * Licensed to the Apache Software Foundation (ASF) under one
004 * or more contributor license agreements.  See the NOTICE file
005 * distributed with this work for additional information
006 * regarding copyright ownership.  The ASF licenses this file
007 * to you under the Apache License, Version 2.0 (the
008 * "License"); you may not use this file except in compliance
009 * with the License.  You may obtain a copy of the License at
010 *
011 *   http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing,
014 * software distributed under the License is distributed on an
015 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016 * KIND, either express or implied.  See the License for the
017 * specific language governing permissions and limitations
018 * under the License.
019 */
020
021import org.slf4j.Logger;
022import org.slf4j.LoggerFactory;
023import org.springframework.scheduling.annotation.Scheduled;
024import org.springframework.stereotype.Service;
025
026import javax.inject.Inject;
027import java.util.Date;
028
029/**
030 * @author Olivier Lamy
031 * @since 1.4-M2
032 */
033@Service
034public class TemporaryGroupIndexCleaner
035{
036    private Logger log = LoggerFactory.getLogger( getClass() );
037
038    @Inject
039    private IndexMerger indexMerger;
040
041
042    public TemporaryGroupIndexCleaner( )
043    {
044
045    }
046
047    // 900000
048    @Scheduled(fixedDelay = 900000)
049    public void cleanTemporaryIndex()
050    {
051
052        indexMerger.getTemporaryGroupIndexes()
053            .stream()
054            .forEach( temporaryGroupIndex ->
055                 {
056                     // cleanup files older than the ttl
057                     if ( new Date().getTime() - temporaryGroupIndex.getCreationTime() >
058                         temporaryGroupIndex.getMergedIndexTtl() )
059                     {
060                         log.info( "cleanTemporaryIndex for groupId {}", temporaryGroupIndex.getGroupId() );
061                         indexMerger.cleanTemporaryGroupIndex( temporaryGroupIndex );
062
063                     }
064                 }
065        );
066    }
067}