Understanding Consumers in Apache Archiva
------
Maria Odea Ching
+ Olivier Lamy
------
- 2007-11-21
+ 2011-09-29
------
~~ Licensed to the Apache Software Foundation (ASF) under one
* <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. This has been removed since 1.2. Public
- methods are indexed by the <<<index-content>>> consumer.
-
- * <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.
-
-
\ No newline at end of file
<<Note:>> If installed standalone, Archiva's list of configuration files is <itself> configurable, and
can be found in:
- <<<apps/archiva/WEB-INF/classes/META-INF/plexus/application.xml>>>
+ <<<apps/archiva/WEB-INF/applicationContext.xml>>>
------
Apache Archiva Databases
------
+ Olivier Lamy
------
- 2011-09-16
+ 2011-09-29
------
~~ Licensed to the Apache Software Foundation (ASF) under one
Archiva uses JNDI data sources to locate the databases to use:
- * <<<jdbc/archiva>>> - the repository database
-
* <<<jdbc/users>>> - the user store
Configuring an external database for either or both of these sources depends is configured in <<<jetty.xml>>> if you are using the
+------+
...
-<New id="archiva" class="org.mortbay.jetty.plus.naming.Resource">
- <Arg>jdbc/archiva</Arg>
- <Arg>
- <New class="org.apache.derby.jdbc.EmbeddedDataSource">
- <Set name="DatabaseName">/path/to/database/directory/archiva</Set>
- <Set name="user">sa</Set>
- <Set name="createDatabase">create</Set>
- </New>
- </Arg>
-</New>
-
-<New id="archivaShutdown" class="org.mortbay.jetty.plus.naming.Resource">
- <Arg>jdbc/archivaShutdown</Arg>
- <Arg>
- <New class="org.apache.derby.jdbc.EmbeddedDataSource">
- <Set name="DatabaseName">/path/to/database/directory/archiva</Set>
- <Set name="user">sa</Set>
- <Set name="shutdownDatabase">shutdown</Set>
- </New>
- </Arg>
-</New>
<New id="users" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>jdbc/users</Arg>
Understanding Repository Configuration of Apache Archiva
------
Maria Odea Ching
+ Olivier Lamy
------
- 2011-09-27
+ 2011-09-29
------
~~ Licensed to the Apache Software Foundation (ASF) under one
It should be noted that this feature is entirely separate from the repository purge by number of days older and by
retention count.
-
-* Scanning a Database
-
- Another scanning process also occurs in Archiva, the database scanning. Same as with repository scanning,
- it can also be executed on schedule or explicitly. This can be configured in the 'Database' page, via the 'Database -
- Unprocessed Artifacts Scanning' section.
-
- It is essential that the database scan occur after the repo scan as this is where the pom information of the artifacts in
- the database will be processed by the consumers and in turn, added to the database (as ArchivaProjectModel objects). For
- more details about the different database consumers, please see the {{{./consumers.html} Consumers}} page.
\ No newline at end of file
------
Installing Standalone Distribution of Apache Archiva
------
+ Olivier Lamy
+ ------
+ 2011-09-29
+ ------
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
+------+
...
- <!-- Archiva Database -->
-
- <New id="archiva" class="org.mortbay.jetty.plus.naming.Resource">
- <Arg>jdbc/archiva</Arg>
- <Arg>
- <New class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource">
- <Set name="serverName">localhost</Set>
- <Set name="databaseName">archiva</Set>
- <Set name="user">archiva</Set>
- <Set name="password">sa</Set>
- </New>
- </Arg>
- </New>
-
- <New id="archivaShutdown" class="org.mortbay.jetty.plus.naming.Resource">
- <Arg>jdbc/archivaShutdown</Arg>
- <Arg>
- <New class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource">
- <Set name="serverName">localhost</Set>
- <Set name="databaseName">archiva</Set>
- <Set name="user">archiva</Set>
- <Set name="password">sa</Set>
- </New>
- </Arg>
- </New>
<!-- Users / Security Database -->
------
Installing Apache Archiva as a Web Application
------
+ Olivier Lamy
+ ------
+ 2011-09-29
+ ------
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
url="jdbc:derby:/path/to/database/users;create=true" />
- <Resource name="jdbc/archiva" auth="Container" type="javax.sql.DataSource"
- username="sa"
- password=""
- driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
- url="jdbc:derby:/path/to/database/archiva;create=true" />
-
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
mail.smtp.host="localhost"/>