Simon Nash wrote:
Simon Laws wrote:
I would agree that goals 1 and 2 are more important than goal 3. I
would though consider shipping some jars with our binary distro if we
needed extra jars over and above the Tuscany distro to make some of
the sames work. Especially if that removes the need to set environment
variables and download anything but Tuscany and the sample.

I haven't looked at the details of what you are proposing here so I
will do that before commenting further.

Simon

I can investigate this suggested approach.  The aditional jars that we
would need to ship with the travel sample (as a delta to Tuscany SCA 1.6)
would be all or part of the contents of the OpenEJB "lib" directory.
Some subsetting might be possible based on the needs of the travel sample,
and I can investigate how large the subset would be.

This approach might create problems with version conflicts between
older versions of the JEE/Geronimo-related jars in the Tuscany SCA 1.6
binary distro and newer versions of those jars used by OpenEJB 3.x.
I can investigate whther or not these conflicts create any issues for
running the travel sample.

I have identified the following subset of OpenEJB 3.1.2 runtime jars
which is sufficient to run the travel sample and doesn't cause version
conflicts with the Tuscany SCA runtime when running the travel sample.
 commons-cli-1.1.jar
 commons-dbcp-all-1.3-r699049.jar
 ejb31-api-experimental-3.1.2.jar
 geronimo-transaction-2.1.jar
 javaee-api-5.0-2.jar
 openejb-api-3.1.2.jar
 openejb-client-3.1.2.jar
 openejb-core-3.1.2.jar
 openejb-ejbd-3.1.2.jar
 openejb-javaagent-3.1.2.jar
 openejb-jee-3.1.2.jar
 openejb-loader-3.1.2.jar
 openejb-server-3.1.2.jar
 xbean-asm-shaded-3.6.jar
 xbean-finder-shaded-3.6.jar
 xbean-reflect-3.6.jar
This subset uses a total of 4MB disk space and I think it's acceptable to
bundle these jars with the travel sample binary distribution for now until
the OpenEJB runtime becomes part of the Tuscany 1.x binary distribution.

This bundling avoids the need for the user to set environment variables
for OPENEJB_HOME and OPENEJB_VERSION when building and running the travel
sample.  It's still necessary for the user to set the TUSCANY_HOME
environment variable before running the executables in the travel sample
binary distribution.

In order to implement this packaging it will be necessary to restructure
the travel sample distribution directory with two submodules under the
distribution module.  One submodule would bring in the Tuscany SCA 1.6
dependencies and the other submodule would bring in the OpenEJB dependencies.
This change shouldn't be a problem as this is similar to what we do in
the Tuscany SCA 1.x distribution with the bundle and manifest submodules.

I have been able to make this work.  It wasn't quite as easy as I expected
and my first attempt needs a bit of cleaning up before I commit the final
version as part of the fixes for TUSCANY-3460 and TUSCANY-3462.

  Simon

Reply via email to