| ------ |
| Understanding Consumers in Apache Archiva |
| ------ |
| Maria Odea Ching |
| ------ |
| 21 Nov 2007 |
| ------ |
| |
| ~~ 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. |
| |
| ~~ NOTE: For help with the syntax of this file, see: |
| ~~ http://maven.apache.org/guides/mini/guide-apt-format.html |
| |
| Understanding Consumers in Apache Archiva |
| |
| Archiva makes use of the concept of consumers. Consumers are components which consumes or processes an artifact. There are 2 types |
| of consumers in Archiva: repository content consumers and database consumers. |
| |
| * Repository Content Consumers |
| |
| The repository content consumers consume or process artifacts during repository scanning. For every artifact found in the repository, |
| each consumer processes them. There are 8 available repository content consumers which can be configured in the Repository Scanning |
| page. These are: |
| |
| * <auto-remove> - Removes files in the repository being scanned if the file type matches any of the configured file types to be removed. |
| |
| * <auto-rename> - Automatically renames common artifact mistakes. |
| |
| * <create-missing-checksums> - Creates the md5 and sha1 checksum files of the artifact if there are none available in the repository. |
| |
| * <index-content> - Adds the content of the artifact (specifically the pom) to the index, allowing the artifact to be searched in Archiva. |
| |
| * <metadata-updater> - Updates artifact metadata files depending on the content of the repository. |
| |
| * <repository-purge> - Removes old snapshots from the repository either by the number of days old or by the retention count. |
| |
| * <update-db-artifact> - Adds the artifact (in the form of ArchivaArtifact) to the database. |
| |
| * <validate-checksums> - Validates the checksum files of the artifact. |
| |
| * Database Consumers |
| |
| The database consumers, on the other hand, consume or process artifacts during database scanning. The database consumers are split up |
| into two types: the unprocessed artifacts consumers and the artifact cleanup consumers. |
| |
| [[1]] Unprocessed Artifacts Consumers |
| |
| These are consumers for those artifacts already in the index that haven't been processed yet, meaning the details about the artifact |
| are not yet processed and stored in the database. There are 6 unprocessed artifact consumers which can be configured in the |
| Database page: |
| |
| * <validate-repository-metadata> - Verifies repository metadata files against database. |
| |
| * <index-archive-toc> - Indexes the archiva table of contents for full text search. |
| |
| * <index-artifact> - Indexes the artifact for the 'Find Artifact' functionality. |
| |
| * <update-db-project> - Gets the details of the artifact from the pom and saves it into the database (as a project model) |
| |
| * <index-public-methods> - Indexes the java public methods for full text search. |
| |
| * <update-db-bytecode-stats> - Updates database with java bytecode stats. |
| |
| [] |
| [] |
| [[2]] Artifact Cleanup Consumers |
| |
| These are the consumers for cleaning up the database. There are 3 which can be configured in the Database page, and these are: |
| |
| * <not-present-remove-db-artifact> - Removes the artifact from the database if the artifact no longer exists in the file system. |
| |
| * <not-present-remove-indexed> - Removes the artifact from the index if the artifact no longer exists in the file system. |
| |
| * <not-present-remove-db-project> - Removes the project model of the artifact from the database if the artifact itself no longer exists in the file system. |
| |
| |