Before I start asking my stupid newbie questions it is probably a good idea to explain what I am trying to achieve here :-)

My goal is to create a Geronimo configuration to deploy Hibernate/Spring/Web applications in. Despite that Geronimo is 'marketed' as a J2EE container, I see it more like a generic application server that can be used to host any kind of application in.

This will be an open source effort. Either as part of one of the two projects are simply published through sourceforge.

Starting simple seemed like a good idea, so what I am trying to setup now is a Spring hosting platform that can deploy an EAR archive variant that contains SPR and WAR archives. I'll get back about the SPR archives later.

My ideal setup would be this; you start Geronimo with a Spring Container configuration/personality. You can then deploy applications to it that have a structure like this:

 my-app.ear:
  my-spring-logic.spr
  my-web-app1.war:
  my-web-app2.war:

The SPR would contain all the spring beans, business logic and persistence support (like hibernate mappings + domain classes). The WAR would simply be a 'client' of the logic deployed through the SPR, but also include its own spring configuration.

When this EAR is deployed, the container first processes the SPR; a new bean factory is created and all the meta-inf/spring/*.xml files are processed. Then the WAR is deployed, which also has a meta-inf/spring directory. All its spring bean configurations are then also deployed in the context of the global bean factory for thie EAR deployment.

So now my questions :-)

1) What do people think of this idea? :)

2) Am I right that a '*-plan.xml' is only used to give a Geronimo instance a 'personality' ? It is a bit confusing because the plans are now used as both personality configuration and deployment of (GBean) services. Or is the latter so because there is no simple way yet to deploy .sar like packages (as part of an EAR)?

3) Any hints on adding a new archive type (SPR) to Geronimo? What would be a good starting point to look at? Is the M3 API stable enough to start writing these kind of things?

 S.



Reply via email to