Release Notes -- Apache Geronimo -- Version 2.0.2
Geronimo URLs
-------------
Home Page: http://geronimo.apache.org/
Downloads: http://geronimo.apache.org/downloads.html
Documentation: http://geronimo.apache.org/documentation.html
Mailing Lists: http://geronimo.apache.org/mailing.html
Source Code: http://geronimo.apache.org/svn.html
Bug Tracking: http://issues.apache.org/jira/browse/GERONIMO
Wiki: http://cwiki.apache.org/geronimo
Updated Information
-------------------
Please see http://cwiki.apache.org/GMOxDOC20/release-notes-202txt.html for the
latest information on this release.
System Requirements
-------------------
You need a platform that supports the Sun JDK 5.0+ (J2SE 1.5.0+). Other Java VMs
should work as well.
Most testing has been done on Linux, Mac OS X, and Windows.
Significant Changes in the 2.0.2 Release
----------------------------------------
- MEJB security issue fixed
* Access to the Management EJB (MEJB) is now controlled by the admin (read access)
and mejb-admin (read/write access) groups.
- Changes in the default JNDI names for EJB's
* The default JNDI names generated for EJB's has been simplified. Environments reliant
on the default JNDI names generated by Geronimo 2.0.1 will not work with Geronimo 2.0.2
For information on the new format, see http://cwiki.apache.org/GMOxDEV/client-jndi-names.html
- Updated CA (Certification Authority) Helper application
* Certificate requests and downloads are now supported using Internet Explorer
- Multiple bug fixes
* A number of issues are resolved by Geronimo 2.0.2. A summary of issues is provided below.
Certification Status
--------------------
Apache Geronimo v2.0 have passed 100% SUN's Java Enterprise Edition 5.0
Certification Test Suite. See "Distributions" for further details.
Distributions
-------------
Apache Geronimo v2.0 is available in five distributions so you can pick the
one that better fits your environment.
The available distributions are as follows:
Certified distributions:
- Apache Geronimo with Tomcat web container, AXIS2 for Web Services and OpenJPA
for persistence.
- Apache Geronimo with Jetty web container, CXF for Web Services and OpenJPA
for persistence.
Non-Certified distributions:
- Little-G with Tomcat web container, minimal configuration.
- Little-G with Jetty web container, minimal configuration.
- Micro-G, stripped down Geronimo pluggable framework.
Note: Non-Certified distributions do not contain a complete JavaEE5 stack and so
cannot be certified. Certified distributions can be reconfigured by the user
(such as Tomcat web container with CXF for Web Services).
Supported features
------------------
All programming model elements of the Java EE 5.0 Specification are available.
Some of the non-specification related elements such as clustering are still
being worked on.
Building Geronimo
-----------------
See http://cwiki.apache.org/GMOxDEV/building-apache-geronimo.html for information
about building Geronimo 2.0.2 from source
Installing & Starting Geronimo
------------------------------
To install, simply unpack the .zip (Windows) or tar.gz (Unix) file containing
Geronimo.
If you wish to modify the default ports that Geronimo will use, edit the file
<geronimo_home>/var/config/config-substitutions.properties
Geronimo comes with batch and script files to control server start and stop
functions. To see usage examples simply type geronimo.bat or geronimo.sh
command as appropriate for your platform. It is necessary to set JAVA_HOME to
the copy of your Sun 5 JDK/JRE prior to executing the command.
Here is an example to set JAVA_HOME:
export JAVA_HOME=<JDK/JRE_home>
To see the available command options type:
<geronimo_home>/bin/geronimo.sh
or
<geronimo_home>\bin\geronimo.bat
The command will display help text instructing you as to how to start and stop
the Geronimo server.
If you prefer to start the server without a script file you can simply type the
following command from <geronimo_home> directory:
java -Djava.endorsed.dirs=lib/endorsed -javaagent:bin/jpa.jar -jar bin/server.jar
Once the server has started, you can access the Geronimo Administration Console
at http://localhost:8080/console/ . The default user name is "system" and the
default password is "manager".
Note for Windows platforms:
Windows users keep in mind the directory path length limitation of 255 characters.
Defaulting installation to predefined directories such as "My Documents" or
"Program Files" may cause the installation or the server start up to fail. Try a
<geronimo_home> at a root level instead.
Security Configuration
----------------------
The default administration user/password for the Geronimo Administration Console
and command line deployment tool is system/manager. You can change these defaults
directly from the Geronimo Administration Console by accessing Security -> Console
Realm and change the user name and password from the Console Realm Users portlet.
As an alternative, you can make the same changes by editing the
<geronimo_home>/var/security/users.properties and
<geronimo_home>/var/security/groups.properties files.
Access to the var/security directory should be appropriately secured on systems where
you install Geronimo.
Passwords in users.properties are encrypted by the server. Passwords can be changed
using the Geronimo Administration Console. They can also be changed using a text
editor. While the server is stopped, simply edit the users.properties file. The
password(s) will be encrypted the next time the server is started.
To prevent potential security exposures, we strongly recommend you update the
default user names and passwords on your system.
Deploying Applications
----------------------
Geronimo comes with deploy scripts and batch files to deploy J2EE modules or
applications. You can use the scripts or simply invoke the executable jar by
running the following command (note that you need to start Geronimo first):
<geronimo_home>/bin/java -jar deployer.jar deploy my-web-app.war [deploy plan]
You will need to use the username "system" and password "manager" unless you
customized those as described above. The deployment plan argument is
optional -- you can pack a deployment plan into the application module, provide
it on the command line, or in some cases omit it entirely.
You can also use the "Login" command to avoid entering a user name and password
every time you use the deploy tool
For more information on the commands and options supported by the deploy tool,
run from within the Geronimo directory <geronimo_home>/bin:
java -jar deployer.jar help [command]
You can also graphically deploy applications and resources via the Geronimo
Administration Console available at http://localhost:8080/console/
Other Deployment Options
------------------------
As an alternative to the command-line deployer, you can copy application
modules into the <geronimo_home>/deploy/ directory and the
hot deployer service will deploy them automatically. The command-line deployer
has some advantages, as it will output any
deployment errors to its own console rather than just the server log.
Additionally, Geronimo provides a Maven plugin that can deploy applications to
Geronimo as part of a Maven build.
Configuration
-------------
Most configuration attributes can be updated in the
<geronimo_home>/var/config/config.xml file. The attributes most likely to be
changed are already included in the supplied config.xml file, while others may
need to be added manually.
To enable MEJB write access, you will need to configure either an mejb-admin
group. For example, to enable read/write MEJB access to the 'system' user,
add the following to <geronimo_home>/var/security/groups.properties file:
mejb-admin=system
Known Issues and Limitations
----------------------------
Spring jars packaged within the lib directory of an EAR file will not be accessible
to web applications packaged within the same EAR file. To workaround this issue
you must either override Spring class filtering which is automatically configured
for the web applications or configure the Spring jars via the manifest classpath of
the web applications.
Resolved Issues
---------------
Sub-task
[GERONIMO-3461] - Disable MEJB gbean in the default assemblies until G3456 is fixed
Bug
[GERONIMO-1746] - Cannot override default configurationFile value in Log4jService GBean
[GERONIMO-2188] - When oracle wrapper is used, commits are not immediately committed to oracle database
[GERONIMO-2567] - Remote admin of server using deployer.jar fails to connect
[GERONIMO-2775] - Enabling web statistics collection for jetty fails from the admin console
[GERONIMO-2851] - LDAP view in the console
[GERONIMO-2884] - JNDI Name Not Correct
[GERONIMO-2925] - Key used for encryption same for all server instances
[GERONIMO-3208] - In-place deployment fails when renaming file
[GERONIMO-3248] - Extraneous WARN messages during deployment of resource-env-refs in EJB jar
[GERONIMO-3265] - Spring stale version in 2.0-M6-rc1
[GERONIMO-3310] - Geronimo is not finding message-destination elements in ejb-jar.xmls
[GERONIMO-3317] - "has not been enhanced" error when invoking an EJB 2.1 Entity Bean
[GERONIMO-3324] - Could not scan module for TLD files: illegal char (space)
[GERONIMO-3326] - ClassLoader memory leak caused by OpenJPA
[GERONIMO-3329] - javaVirtualMachine param for StartServerMojo in geronimo-maven-plugin doesn't work
[GERONIMO-3348] - java.lang.NoSuchMethodError in org.springframework.context.i18n.LocaleContextHolder
[GERONIMO-3363] - ArrayList thread safe problem in OpenJPA
[GERONIMO-3376] - can't customize tomcat's session manager behavior per web context
[GERONIMO-3380] - Derby embedded database pool created from console doesn't work
[GERONIMO-3383] - "Connect" button on LDAP Viewer portlet just listens on port "1389" ,not 10389
[GERONIMO-3386] - Nothing returned when clicking on "Save" button at creating Tomcat NIO HTTPs Connector
[GERONIMO-3388] - LoginKerberosTest relies on kerberos not being installed... so it can fail on windows?
[GERONIMO-3390] - Server Logs portlet - Web Access Log Viewer is broken
[GERONIMO-3405] - Generating WSDL files are runtime leaves files in use on Windows
[GERONIMO-3409] - Several geronimo-web.xml files still use a 2.0-SNAPSHOT depend. Upgrade to geronimo.components vers=2.0.1
[GERONIMO-3411] - injection target entries are not added to existing env-entry entries
[GERONIMO-3412] - Upgrade geronimo.components to released 2.0.1 levels
[GERONIMO-3414] - servlet.destroy() not called on POJOWebServiceServlet
[GERONIMO-3420] - Remote deploy of an EAR without an application.xml plan fails
[GERONIMO-3421] - ClassFinder classloader problems cause deployer to hang
[GERONIMO-3426] - The Holder object contains duplicated injections
[GERONIMO-3435] - Axis2: unable to create a service-ref without wsdl using a generic Service class
[GERONIMO-3437] - Axis2: serviceimplClass being null caused NPE at invoke in JavaBeanDispatcher
[GERONIMO-3439] - geronimo-openejb-2.0.xsd not packaged under schema directory!
[GERONIMO-3446] - Improperly configured JRE_HOME or JAVA_HOME environment variables can cause server failure
[GERONIMO-3452] - Stateless Session EJBs cannot contain a remove() method
[GERONIMO-3456] - Make MEJB security configurable
[GERONIMO-3458] - include Dojo information in LICENSE and NOTICE files
[GERONIMO-3459] - Build break due to OpenEJB Rev572863 changes
[GERONIMO-3464] - A webapp with <init-param> fails deployment
[GERONIMO-3465] - Default log level needs to be tweaked to provide more useful information to users
[GERONIMO-3473] - CA Helper app should support submitting Certificate Requests from Internet Explorer
[GERONIMO-3474] - Use released openjpa 1.0.0
[GERONIMO-3475] - expose thread pool size in config.xml/config-substitutions.properties
[GERONIMO-3477] - Transaction recovery broken for resource adapter
[GERONIMO-3481] - Offline deployer throws BIND Exception when port 1099 is in use
[GERONIMO-3484] - openejb-deployer should not require openejb to be running
[GERONIMO-3489] - Deployment problems caused by file deletion failures
[GERONIMO-3494] - HTTP GET is not handled correctly for JAX-WS services
[GERONIMO-3499] - Expose ConnectionTimeout configuration in tomcat web connector to the user
[GERONIMO-3505] - JettyAJP13Connector in geronimo-jetty6-minimal isn't using config-substitutions.properties
[GERONIMO-3508] - Still cannot build branches/2.0 without building OpenEJB first, due to XBean depends
[GERONIMO-3514] - NullPointerException in EjbModuleBuilder.addResourceAdapterMDBInfos
Improvement
[GERONIMO-2964] - Cannot specify the Tomcat work directory for a web application
[GERONIMO-3378] - Enhance debugability of Deployer by logging errors and more data on debug
[GERONIMO-3391] - Use the config-substitutions.properties for the Deployer remoteDeployAddress settings
[GERONIMO-3401] - Stop of module from "System Modules" in console should warn user of destructive action
[GERONIMO-3423] - Ensure that users can change the ejb jndi name format
[GERONIMO-3507] - Expose all TomcatConnector attributes in config.xml
[GERONIMO-3511] - Upgrade to TranQL 1.1 released MySQL and PostgresSQL
[GERONIMO-3513] - Update XBean versions to new 3.2 release
Task
[GERONIMO-3521] - plugin catalog for 2.0.2