Wiki Markup |
---|
{scrollbar} |
Note |
---|
Regarding both Geronimo javaee6 and minimal release bundles. Full support for multiple repositories was completed in GERONIMO-6270 and its sub-tasks. This support is available in the latest snapshots after March 1, 2012, and will be in the 3.0-beta-2 standard release. This documents how to setup multiple repositories after applying the changes from GERONIMO-6270. For prior releases, this document can still be followed if the |
Excerpt |
---|
The advantage of having multiple repositories is that they can reside on different server instances. |
For multiple instance support within a single Geronimo installation, it is recommended that each instance have its own local repository for deploying to (i.e. GERONIMO_SERVER/repository
). The primary shared repository (GERONIMO_HOME/repository
) in a multiple instance configuration should remain read-only.
This topic includes the following information:
Table of Contents |
---|
...
Creating multiple repositories on a single server instance
...
- Start Geronimo.
- Create a directory repo2 under
<geronimo_home>
, for example,<geronimo_home>/repo2
. - Create a file
repo2.xml
under the<geronimo_home>/repo2
directory, for example:Code Block title repo2.xml borderStyle solid <module xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"> <environment> <moduleId> <groupId>org.example.configs</groupId> <artifactId>myrepo</artifactId> <version>2.2</version> <type>car</type> </moduleId> <dependencies> <dependency> <groupId>org.apache.geronimo.framework</groupId> <artifactId>j2ee-system</artifactId> <type>car</type> </dependency> </dependencies> <hidden-classes/> <non-overridable-classes/> </environment> <gbean name="Repo2" class="org.apache.geronimo.system.repository.Maven2Repository"> <attribute name="root">repo2/</attribute> <attribute name="resolveToServer">false</attribute> <reference name="ServerInfo"> <name>ServerInfo</name> </reference> </gbean> <gbean name="Local2" class="org.apache.geronimo.system.configuration.RepositoryConfigurationStore"> <reference name="Repository"> <name>Repo2</name> </reference> </gbean> </module>
- Deploy the
repo2.xml
from the command prompt:
deploy(.bat) deploy <GERONIMO_HOME>/repo2/repo2.xml
.
To verify that the repository is successfully deployed, you can list the targets on the current server with the command:
deploy(.bat) list-targets
, and you can see the following information:No Format Available Targets: org.apache.geronimo.framework/j2ee-system/2.2/car?ServiceModule=org.apache.geronimo.framework/j2ee-system/2.2/car,j2eeType=ConfigurationStore,name=Local org.example.configs/myrepo/2.2/car?ServiceModule=org.example.configs/myrepo/2.2/car,j2eeType=ConfigurationStore,name=Local2
- Update the
etc/org.ops4j.pax.url.mvn.cfg
file, add the new second repository to theorg.ops4j.pax.url.mvn.defaultRepositories
property
The propertyorg.ops4j.pax.url.mvn.defaultRepositories
maintains a comma-delimited list of repositories that are used by the run-time server.
The format is:file:
< /absolute/path/to/repo2 >@snapshots
And if a variable it used, the new repository just deployed would be defined as:
And the resulting property would be set to something that looks like this:Code Block file:${org.apache.geronimo.server.dir}/repo2@snapshots
The first defined repository is the default and primary GERONIMO_HOME/repository, the second one is the new GERONIMO_HOME/repo2 repository just created.Code Block org.ops4j.pax.url.mvn.defaultRepositories=file:${karaf.home}/repository@snapshots,file:${org.apache.geronimo.server.dir}/repo2@snapshots
...
In Geronimo 3.0, there is a minor bug that exists when creating additional repositories for Geronimo instances. The files GERONIMO_HOME/var/config/config.xml
and GERONIMO_HOME/var/config/config-substitutions.properties
must exist even though they are never used, otherwise Geronimo will fail complaining that they do not exist. Simply create these files, or copy them from GERONIMO_SERVER/var/config/...
to work around this issue.
...
- .
Deploying an application to the repository
...