[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] server side OSGi platform, developing a launch configuation, changes to FrameworkLauncher

Hi all,

I am preparing a migration of a collaboration platform (commercial product)
to use server side OSGi platform.
To enhance the development process, I just started developing a plugin to
launch a server side OSGi application within a web container.

Basic idea is:
- Define a new launch configuration, incl. all the properties from OSGi
Equinox launcher
- Add a tab to this launcher, add properties for
	- The target (e.g. Tomcat, Jetty)
	- the target directory
	- a reference to a bridge project (e.g. org.eclipse.equinox.servlet.bridge)
(or use a default one)
	- a context name, where the bride will be deployed (e.g. defaults to

The configuration (config.ini) will be stored within PDE, the plugins be
taken from workspace (reference:file:...), the workspace can be somewhere.

This requires some changes of FrameworkLauncher:

1. During startup, give a chance to set
	- osgi.install.area
	- osgi.configuration.area
	- osgi.instance.area
to appropriate values.

2. I enabled the bridge servlet to process commandline args when starting
the framework launcher. Commandline args can be specified in web.xml as init
parameter. (e.g. -configuration path, -data path, and -install path)

3. Default lookup should be as in current implementation: search at
/WEB-INF/platform, copy platform to temp dir

4. If we specify the osgi.install.area, we do NOT copy the resources to
container temp

5. If we specify the osgi.configuration.area, we do NOT copy the resources
to container temp

6. If we specify the osgi.instance.area, we do NOT copy the resources to
container temp

Some questions remains open for me:

1. Why do we have an explicit step to deploy/undeploy ? It could be done as
part of start/stop. No specific deployment needed when running from files.
2. What does osgi.configuration.cascaded=false in config.ini mean ? (sorry
if it is a stupid question)
3. It would be a good idea, to parse the config.ini before startup, to get
all properties which are relevant for EclipseStarter.run():
	- e.g. osgi.framework, osgi.noShutdown, ...
4. As mentionend in code from Simon Kaegi, some code portions from
EclipseStarter should be made visible. Same would apply
to processCommandlineArgs too
5. What would be the preferrred package for the server side OSGi launcher ?
Same place as EquinoxLaunchConfiguration, in org.eclipse.pde.ui.launcher ?
Should it be contributed to equinox-incubator ?

Any help and comments ?

I have a running implementation of FrameworkLauncher, which I can submit to
Equinox. Should I open an enhancement request for an launcher to startup
server side OSGi, and attach the patch of FrameworkLauncher ?

Jochen Hiller