geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guillaume Nodet <>
Subject ServiceMix integration
Date Tue, 04 Apr 2006 07:55:12 GMT
Thanks to dain and djencks advises, I have began to write a real 
ServiceMix integration for Geronimo.
However I am facing a number of problems.

The problem is that the JBI spec needs some things to be done when 
undeploying jbi artifacts so I will be in need of an event fired before 
undeployment (and not after as this is the current case).  Let me 
explain the use case for this.
The JBI container is a server (like a web server or EJB server): it 
accepts three kind of deployment artifacts: component, shared libraries 
and service assemblies.  A shared library is a collection of jars to be 
added to the classpath of a component.  A component is also a container, 
like a BPEL engine for example.  A service assembly is a package 
containing service units.  These service units are given to a target 
component upon deployment.  A service unit could a BPEL process.
When deploying a BPEL process onto a BPEL engine, the engine may have to 
store the process in a database at deployment time and remove the clean 
the database when undeploying the service unit.  The JBI spec has all 
the needed interfaces to perform these deployment / undeployment steps.  
The only problem is that I have not found any way to know when a 
configuration is being undeployed.
Looking at the kernel, it seems it should be quite easy to do, so I 
think I will raise a JIRA for that and attach a patch at a later time. 

The next problem, which is IMHO more important, is how to access managed 
resources.  In the previous BPEL engine example, the component has to 
access a database.  A JMS component would access a JMS connection 
factory.  These resources should be accessed via JNDI.  I have browsed 
the naming / deployer code these past days and AFAIK, there is no 
server-wide JNDI context.  When a web app is deployed, a specific JNDI 
context is created (and bound to the thread with interceptors), that 
includes all the bindings referenced in the web deployment descriptor.  
This leads me to think that I have to create a geronimo-jbi.xml 
deployment descriptor which will contain resource references and / or 
additional gbeans for the configuration.
I fear this will lead to another problem, which is the fact that these 
resources are usually deployed inside an EAR and JBI artifacts can not...
So the main questions is: did I miss something ? Is there any easier way 
to access server-wide resources or do I really have to create a specific 
deployment plan of some kind ?

Guillaume Nodet

View raw message