|Home > Documentation > Reference > Samples > Java EE sample applications|
This topic is organized in the following sections:
The recommended practice for Geronimo is to set up a workflow using Geronimo plugins and maven from development through test and production. To demonstrate this, the samples are built into plugins suitable for the Jetty and Tomcat Web containers in Geronimo. Many samples require database access. This is encapsulated into a separate plugin (sample-datasource).
In any case, to install samples as plugins you need to build them first.
For installation you need a Geronimo server with a Web container installed, such as the geronimo-jetty-minimal or geronimo-jetty6-javaee5 servers (or the equivalent Tomcat variations).
If you are using one of the Java EE 6 server assemblies you can use the administrative 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 #gogo commands for Geronimo) if you are using one of the minimal assemblies that does not include the administrative console.
For this you can use any Geronimo server such as one of the minimal assemblies or even the framework assembly. After starting geronimo, run
deploy:list-plugins in the same terminal window and follow the instructions. Installing a sample plugin will install the sample-datasource plugin and all other dependencies. Alternatively if you build using
you can find a server with the sample installed in directories such as
The first time building samples it is required that you build from the top level directory. After the initial build, you can do subsequent builds of specific samples as necessary.
You need svn and maven installed on your system.
To check out the 3.0M1 samples:
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
Build the samples using this command:
There are minimal integration tests to assure that the sample plugins can be installed on the framework server. To run this tests use this command:
After building the sample projects you can find suitable geronimo plans for a sample <sample> in
(or the equivalent -tomcat directory). For most samples you will have to install the sample-datasource plugin first. Samples can be deployed from the administrative console "deploy new" on a suitable server or using Karaf Shell
deploy:deploy-modules. Note that in this case you have 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.
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 administrative console using the database wizard, and run the sql by hand rather than relying on the geronimo DBInitializationGBean.
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 Karaf Shell. This will have exactly the same effect as installing the sample-datasource plugin.
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:
replacing 3.0M1 with the appropriate sample version and adjusting the right hand side as necessary. Be sure Geronimo is stopped when you edit artifact_aliases.properties.
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.
To navigate to javadoc and source code (xref) for each sample do the following: