On Aug 14, 2008, at 8:12 AM, Luciano Salotto wrote:
We are working on creating an 'image' of WASCE (2.0), with the
application already bundled. Initially we have a clean install of
WASCE and deploy the application to it, then upload that to a server
for the end user to download and use locally. We don't want to do
that on every code change, so we just replace the corresponding
modified (or add the new) jar in the expanded EAR structure in the
repository entry. On a full repository entry change (means we
created the full expanded EAR structure and replace that in the
server) we had failures saying that the application couldn't be
found. That's when knew about this config.ser, config.sha1 and
config.id files.
What I did then, was to hand over the files of another WASCE local
installation I have (I had deployed the application through the
Eclipse plugin, so that generated those files), to my surprise that
made the application work, even though we all have very different
install directories (I can see in the config.ser that there is a
part that looks like the web.xml that has a context parameter
refering to my local install) and mostly what surprised me is that
my workspace was outdated, meaning that the EAR that was generated
for the server version had more jars than my local one.
That made me think about the question on the subject.. is the
config.ser ever used at all? or just some code checking that the
serialization file is there?
It is very definitely used. Deployment in geronimo consists of
translating whatever deployment plans (javaee spec dds, annotations,
geronimo service plans, etc) into geronimo service component (gbean)
descriptors (GBeanData) and serializing them into the config.ser
file. When you start a plugin (module) the config.ser is deserialized
and the components configured and started.
Tomcat doesn't fit all that well into this idea and the main tomcat
application gbean includes the web.xml as a data element.
FWIW I'd suggest you look into the custom server assembly features
using maven and the car-maven-plugin available in the latest was ce
(and geronimo 2.1 and later). I'm not familiar with exactly what
comes with was ce but using geronimo I'd assemble a custom server
directly, something like what is outlined here:
http://cwiki.apache.org/GMOxDOC21/constructing-a-special-purpose-server-using-maven.html
thanks
david jencks
Thanks in advance
Luciano