tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Johnny Kewl" <j...@kewlstuff.co.za>
Subject Re: Share one singleton across webapps
Date Mon, 18 Jun 2007 16:08:17 GMT
Kevin, I dont know Eclipse,
But it sound very much the same as what Netbeans does.
ie it will also give every web app its own library.

Being able to share, is sometimes handy, its an alternative to context 
sharing, and JNDI, for instance if you want to set up your own dB pool.... 
BUT.... as a rule of thumb, what these IDE's are doing, is right. Each web 
app should gets its own set of libraries.

The thing to remember is that Tomcat is multi - threaded.
When each web app has its own lib, you dont need to worry about that, well 
not as much anyway.... BUT now you do....  you have shared single instance 
library, and if 30 simultaneous servlets start up, and they all want that 
library, weird stuff can happen.
So now, the next thing you have to do is make sure its thread safe, and then 
once you have done that, you may find when the servlets are busy, they all 
slow down.

Anyway, thats why I said, use them "unwillingly"... because if you not 
carefull, you may be making the slowest Tomcat server ever ;)


----- Original Message ----- 
From: "Kevin Wilhelm" <KevinWilhelm@gmx.net>
To: "Tomcat Users List" <users@tomcat.apache.org>
Sent: Monday, June 18, 2007 3:58 PM
Subject: Re: Share one singleton across webapps


> It works! Thanks!
>
> The problem has been that each webapp had its own shared-lib jar-file, 
> because I am developing in Eclipse. So Eclipse needs to know which classes 
> I am accessing :/ At the end there were 3 times the same jar-file: 1st 
> webapp, 2nd webapp, tomcat/lib.
>
> Removing the jars from the webapps and leaving the one in tomcat/lib 
> solved the problem.
>
> However this is very disgusting. Every time I am deploying the 2 webapps 
> to Tomcat, the jars are copied as well. I have to delete them manually, so 
> that only the jar in Tomcat/lib is used. Is there some workaround for 
> this? Should I use Ant for deploying then? But I won't be able to debug 
> the webapps from within my IDE anymore since I am avoiding Eclipse's 
> deployment mechanisms.
>
>
> -------- Original-Nachricht --------
> Datum: Mon, 18 Jun 2007 15:40:36 +0200
> Von: "Johnny Kewl" <john@kewlstuff.co.za>
> An: "Tomcat Users List" <users@tomcat.apache.org>
> Betreff: Re: Share one singleton across webapps
>
>>
>> The typical form is like this
>>
>> public class SingletonObject
>> {
>>     private SingletonObject(){}
>>
>>     public static SingletonObject getSingletonObject()
>>     {
>>       if (ref == null)
>>           // it's ok, we can call this constructor
>>           ref = new SingletonObject();
>>       return ref;
>>     }
>>
>>     private static SingletonObject ref;
>> }
>>
>> If thats in Tomcat/lib.... it should share
>> Notice the use of static.... ie there is only one, no matter how many
>> times
>> its started.
>> ...and the check for null.... which is how it determines it needs to make
>> one instance if there is non...
>>
>> Thats the trick.... a normal class which is what I imagine you trying,
>> will
>> load once..... but instance many times.
>>
>> Hope that helps... try not use them unless you really have to.
>>
>>
>>
>>
>> ----- Original Message ----- 
>> From: "Kevin Wilhelm" <KevinWilhelm@gmx.net>
>> To: <users@tomcat.apache.org>
>> Sent: Monday, June 18, 2007 3:12 PM
>> Subject: Share one singleton across webapps
>>
>>
>> >I managed to get a jar file shared across two webapps in my Tomcat 6.
>> > Inside there is a class that represents a Singleton.
>> >
>> > The problem: the singleton class is instantiated by the first webapp 
>> > and
>> > then again instantiated in the second webapp. So there are 2
>> > representations of the class and it is not really shared.
>> >
>> > There has to be a way to let the first webapp instantiate the singleton
>> > and set some property so that the second webapp can use the singleton
>> > and read the property. How do I achieve this?
>> > -- 
>> > Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten
>> > Browser-Versionen downloaden: http://www.gmx.net/de/go/browser
>> >
>> > ---------------------------------------------------------------------
>> > To start a new topic, e-mail: users@tomcat.apache.org
>> > To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> > For additional commands, e-mail: users-help@tomcat.apache.org
>> >
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>
> -- 
> GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS.
> Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
> 


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message