Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

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 org.ops4j.pax.url.mvn.defaultRepositories property is set properly, described in this document.

...

INLINE

Wiki Markup
{scrollbar}

excerpt

The advantage of having multiple repositories is that they can reside on different server instances.

...

This document is organized into the following sections:

Table of Contents

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:As an alternative to the steps provided in this section, there is a server-repo plugin available that can perform this configuration for you. Visit the Samples section for further details.

Creating multiple repositories on a single server instance

...

  1. Start Geronimo.
  2. Create a directory repo2 under <geronimo_home>, for example, <geronimo_home>/repo2.
  3. Create a file repo2.xml under the <geronimo_home>/repo2 directory, for example: Code Blocktitle solidrepo2.xmlborderStylesolid <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> <version>2.2</version> <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>
  4. Deploy the repo2.xml from the command prompt:
    deploy(.bat|.sh) deploy <Geronimo<GERONIMO_HOME>/repo2/repo2.xml
    .
    To verify that the repository is successfully deployed, you can list the targets on the current server

...

  1. with the command:
    deploy(.bat

...

  1. ) list-targets, and you can see the following information:

...

  1. Available

...

  1. Targets:

...

  1. org.apache.geronimo.framework/j2ee-system/2.2/car?ServiceModule=org.apache.geronimo.framework/j2ee-system/2.2/car,j2eeType=ConfigurationStore,name=Local

...

  1. org.example.configs/myrepo/2.2/car?ServiceModule=org.example.configs/myrepo/2.2/car,j2eeType=ConfigurationStore,name=Local2

...

  1. Update the etc/org.ops4j.pax.url.mvn.cfg file, add the new second repository to the org.ops4j.pax.url.mvn.defaultRepositories property
    The property org.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: file:${org.apache.geronimo.server.dir}/repo2@snapshots And the resulting property would be set to something that looks like this: org.ops4j.pax.url.mvn.defaultRepositories=file:${karaf.home}/repository@snapshots,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.

Deploying an application to the repository

...

  1. List the targets on the current server via the command: deploy(.bat|.sh) list-targets, and you can see the following information: No Format Available Targets: org.example.configs/myrepo/2.2/car?ServiceModule=org.example.configs/myrepo/2.2/car,j2eeType=ConfigurationStore,name=Local2 org.apache.geronimo.configs/j2ee-system/2.2/car?ServiceModule=org.apache.geronimo.configs/j2ee-system/2.2/car,j2eeType=ConfigurationStore,name=Local Set the environment variable REPO2:
    On a Windows system set REPO2=org.example.configs/myrepo/2.2/car?ServiceModule=org.example.configs/myrepo/2.2/car,j2eeType=ConfigurationStore,name=Local2 On a non-Windows system export REPO2=org.example.configs/myrepo/2.2/car?ServiceModule=org.example.configs/myrepo/2.2/car,j2eeType=ConfigurationStore,name=Local2
  2. Deploy the application to the repository repo2 via , named as "Local2" with the following deploy (.bat or .sh) command:
  • On a Windows system:
    deploy.bat deploy --targets

...

  • Local2 <SAMPLE_HOME>/applications/geronimo-jsp-examples/target/geronimo-jsp-examples-2.2.war
  • On a non-Windows system:
    deploy

...

  • deploy --targets

...

  • Local2 <SAMPLE_HOME>/applications/geronimo-jsp-examples/target/geronimo-jsp-examples-2.2.war
    where <SAMPLE_HOME> is the directory of your samples. Then, the jsp example is deployed to the new repository repo2. The following message is displayed:

...

  • Deployed

...

  • org.apache.geronimo.applications.examples/geronimo-jsp-examples/2.2/war

...

  • @

...

  • /jsp-examples
  1. Access the application via at http:// < host > : < port > /jsp-examples.
  1. To undeploy the application from the repository repo2, run the following deploy (.bat

...

  1. ) command:
  • On a Windows system:
    deploy.bat undeploy "

...

  • org.apache.geronimo.applications.examples/geronimo-jsp-examples/2.2/war"
  • On a non-Windows system:
    deploy

...

  • undeploy "

...

  • org.apache.geronimo.applications.examples/geronimo-jsp-examples/2.2/war" Module org.apache.geronimo.applications.examples/geronimo-jsp-examples/2.2/war unloaded. Module org.apache.geronimo.applications.examples/geronimo-jsp-examples/2.2/war uninstalled. Undeployed org.apache.geronimo.applications.examples/geronimo-jsp-examples/2.2/war

Creating multiple repositories on multiple server instances

You first need to create Create several server instances, and start the server instances. For information about creating server instances, see Running Multiple multiple Geronimo Instancesinstances. Then you need to create several repositories on these server instances. You can test the repositories by deploying an application to it these server instances and undeploying the application from themthese server instances.

Creating a repository for server instance2

After you create more than one server instance, you can create repositories and deploy the repositories to different server instances. For information about how to create and deploy a repository on a server instance, for example, create see the following example that creates repo22 and deploy deploys it on server2.:

  1. Create a directory repo22 under <geronimo_home>/server2, for example, <geronimo_home>/server2/repo22.
  2. Create a file repo22.xml under the <geronimo_home>/server2/repo22 directory. For detailed information about the file, see creating multiple repositories.
  3. Deploy the repo22.xml by running the following command from the command prompt:
  • using non-Windows:
    export GERONIMO_SERVER=server2
    deploy -port instance2_RMI_port deploy $GERONIMO_HOME/server2/repo22/repo22.xml

...

  • using Windows
    set GERONIMO_SERVER "server2"
    deploy.bat -port instance2_RMI_port deploy

...

  • %GERONIMO_

...

  • HOME%/server2/repo22/repo22.xml

You can follow the same steps to create repositories for server instance3.

...

To test the repository that you create, you can deploy a sample application to and undeploying it from the repository.

  1. Set the environment variable repo22 Note the repository name for the repository repo22 that you have previously created. We'll assume the name is Local22.
  2. Deploy the application to the repository repo2 via repo22 with the following deploy(.bat or .sh) command:
  • On a non-Windows system

...

  • :
    export GERONIMO_SERVER=server2
    deploy -port instance2_RMI_port deploy --targets

...

  • Local22 <SAMPLE_HOME>/applications/geronimo-jsp-examples/target/geronimo-jsp-examples-2.2.war
  • On a

...

  • Windows system:
    set GERONIMO_SERVER "server2"
    deploy.

...

  • bat -port instance2_RMI_port deploy --targets

...

  • Local22 <SAMPLE_HOME>/applications/geronimo-jsp-examples/target/geronimo-jsp-examples-2.2.war
  1. Undeploy the jsp application from repo22 repository via with the following command:
  • On a non-Windows system

...

  • :
    export GERONIMO_SERVER=server2
    deploy -port instance2_RMI_port undeploy

...

  • org.apache.geronimo.applications.examples/geronimo-jsp-examples/2.2/war
  • On a

...

  • Windows system:
    set GERONIMO_SERVER "server2"
    deploy.

...

  • bat -port instance2_RMI_port undeploy

...

  • org.apache.geronimo.applications.examples/geronimo-jsp-examples/2.2/war

You can follow the same steps to deploy applications to and undeploy applications from repositories on server instance3.