geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <>
Subject Re: Multiple Applications within one Ear - Co-dependent classes
Date Tue, 08 Apr 2008 22:09:51 GMT
I assume you are using an ee 5 ear with a lib directory so A and B  
get the same copy of the common jar.

Assuming you can't just move all the classes into common....

I would have a factory interface and a provider in common:

public interface Factory {

public class FactoryProvider {
static Factory factory;

public static void setFactory(Factory factory) {
   this.factory = factory;

public static Factory getFactoryInstance() {
return factory;

Then B can register a suitable Factory implementation with the  
FactoryProvider when it starts up.

Hope this helps
david jencks

On Apr 8, 2008, at 2:30 PM, lsalotto wrote:

> Hey Fran,
> I've been struggling two days for similar issue, have you ever  
> solved the
> situation? would you mind to share the way you did it?
> My problem is very similar, have to Web (name them A and B)  
> modules, a jar
> (named common since both web modules uses them), they are all  
> within the
> same EAR. Web module A will call have the Factory to create objects  
> in Web
> module B. Application get up to the Factory, when via reflection it  
> tries to
> create object in w m B, then I get same exception Mark mentioned.  
> As you
> we've been working with WAS and this works perfectly, however can't  
> make it
> work in WAS-CE/Geronimo.
> You may already forgot about this, but if possible, could you try  
> to search
> for what you did that time to solve this?
> Thanks in advance.
> Luciano Salotto
> Fran Varin wrote:
>> Hi David,
>> Thank you for your reply...I'll work with Mark to see if we can  
>> work with
>> your suggestions.
>> In terms of your questions regarding my explanation, I'll  
>> elaborate below.
>> The factory simply instantiates a concrete class at the request of an
>> object that is using the factory. The factory is in fact a singleton
>> instance. Once the Object is instantiated and returned to the  
>> requester,
>> the requesting object simply access the public interface on the  
>> object.
>> The factory returns a type java.lang.Object and the requester  
>> typically
>> casts the Object to an Interface (polymorphism).
>> All of the WARs in question belong to a single Java EE EAR, we are  
>> not
>> trying to have resources cross the "EAR" boundary. In our WAS
>> implementation we actually have the factory exposed as part of the  
>> EAR. In
>> turn, the factory is able to see the classes in each WAR defined  
>> to the
>> EAR. It sounds like your idea about a switch would be just what  
>> the doctor
>> ordered in this case, it is a great feature for all of the reasons I
>> mentioned in my last post.
>> We'll give your suggestions a try and post back if we have any
>> questions/problems and again thanks for your time.
>> Fran Varin
>> Sr. Architect
>> Amica Insurance
> -- 
> View this message in context: 
> Applications-within-one-Ear---Co-dependent-classes- 
> tp6758567s134p16574104.html
> Sent from the Apache Geronimo - Users mailing list archive at  

View raw message