You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

General Instructions

Obtaining and building

While it is possible to build each sample separately you may be less likely to run into odd maven problems if you check out and build all the samples at once. This is a small amount of code so should not be a major burden on anyone.

You need svn and maven installed on your system.

Maven v 2.0.9 or later is required for building Geronimo 2.1 samples.

To check out the 2.1.2 samples:

svn co https://svn.apache.org/repos/asf/geronimo/samples/tags/2.1.2 gsamples-2.1.2

This assumes the Geronimo 2.1.2 samples have been released. Prior to release you can checkout the snapshot versions via:
svn co https://svn.apache.org/repos/asf/geronimo/samples/branches/2.1 gsamples-2.1

Depending on when you look you may find earlier or released versions of the samples under samples/branches and samples/tags. You can browse in any web browser to see what's there. The trunk for samples always contains samples for the highest level version under development https://svn.apache.org/repos/asf/geronimo/samples/trunk

To install the 2.1.2 private repository, check out the tagged 2.1.2 repository and install it to your local maven 2 repository using maven.

svn co https://svn.apache.org/repos/asf/geronimo/server/tags/2.1.2/repository g-repo
cd g-repo
mvn install

This assumes the Geronimo 2.1.2 hase been released. Prior to release you can checkout the snapshot versions via:
svn co https://svn.apache.org/repos/asf/geronimo/server/branches/2.1/repository/ g-repo

Build using

mvn clean install

If you run into the "Could not scan module for TLD files...Filename too long" problem when using Windows platform, please check out samples to a short directory (14 characters or less).

There are minimal integration tests to assure that the sample plugins can be installed on the framework server. To run this tests use

mvn clean install -Pit

The integration tests are not available prior to Geronimo 2.2

Installing samples as plugins

Recommended practice for geronimo is to set up a workflow using geronimo plugins and maven from development through test and production. To demonstrate part of this the samples are built into plugins suitable for the jetty and tomcat web containers in geronimo. Many samples require database access and this is encapsulated into a separate plugin.

TODO: Demonstrate how to swap databases using plugins; see also the roller plugin

In any case, to install samples as plugins you need to build them first.

Installing through the admin console.

For this you need a geronimo server with a web container installed, such as the geronimo-jetty-minimal or geronimo-jetty6-javaee5 servers. If you are using one of the javaee5 server assemblies you can use the admin console to install the plugins. Go to the plugins page, push the "Show Plugins" button, find the sample(s) you want to install, and click install. Be sure to select only plugins for the web container you have installed (e.g. jetty plugins for the jetty web container). Any necessary dependencies such as the sample-datasource plugin will be installed automatically. There are equivalent command line functions (described next under Installing through gshell) if you are using one of the minimal assemblies that does not include the admin console.

Installing through gshell

For this you can use any geronimo server such as geronimo-framework. After starting geronimo, run ./bin/gsh deploy/list-plugins in another terminal window and follow the instructions. Installing a sample plugin will install the sample-datasource plugin and all other dependencies such as the required web container. Alternatively if you build using

mvn clean install -Pit 

you can find a server with the sample installed in directories such as

<sample>/<sample>-jetty/target/geronimo-framework-<version>/.

Deploying samples as javaee artifacts.

With the sample datasource installed as a plugin

After building the sample projects you can find suitable geronimo plans for a sample <sample> in

<sample>/<sample>-jetty/target/resources/META-INF/plan.xml

(or the equivalent -tomcat directory). For most samples you will need to install the sample-datasource plugin first. Samples can be deployed from the admin console "deploy new" on a suitable server or using gshell ./bin/gsh deploy/deploy. Note that in this case you need to start with a server with all the required bits already installed, not the framework server. Since this installation method is not tested automatically it is more likely to be broken than the plugin method.

Making life even harder for yourself

You can also install the sample datasource as a javaee artifact using the plan we generate when building the plugin, install the sample datasource using the admin console using the database wizard, and run the sql by hand rather than relying on the geronimo DBInitializationGBean.

Installing the sample datasource as a javaee artifact.

Before you install any sample applications, deploy the org.tranql/tranql-connector-derby-embed-xa/1.4/rar connector located in the geronimo repo at org/tranql/tranql-connector-derby-embed-xa/1.4/tranql-connector-derby-embed-xa-1.4.rar with the plan at sample-datasource/target/resources/META-INF/plan.xml using the admin console "deploy new" or gshell. This will have exactly the same effect as installing the sample-datasource plugin.

Installing the sample datasource through the admin console database wizard

Create a new datasource using the admin console database wizard, selecting the derby-embed-xa type and naming the database "SampleDatabase" and the datasource "SampleTxDatasource". The admin console will come up with a module Id different from what the samples need, so you have to map them in var/config/artifact_aliases.properties. Insert a line like this:

org.apache.geronimo.samples/sample-datasource/2.2-SNAPSHOT/car=console.dbpool/SampleDatabase/1.0/car

replacing 2.2-SNAPSHOT with the appropriate sample version and adjusting the right hand side as necessary. Be sure geronimo is stopped when you edit artifact_aliases.properties.

Manually initializing the database.

Samples that need database connectivity have the database initialized by default by using a DBInitializationGBean to run an sql script. Alternatively here we describe how to initialize the database by hand. In a production scenario most likely your db will be set up by a DBA rather than either of these methods.

  1. Remove the DBInitializationGBean from the sample plan
  2. In the console DB Manager page, use the Create DB function to create a database named SampleDatabase.
  3. In the console DB Manager page select the SampleDatabase in Use DB, paste the script found in the sql file located in the project (ear or war) that builds the top level javaee artifact into the text box, and run it.
  4. Deploy and run the application using the modified plan.

Sample applications available

  • No labels