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" <[EMAIL PROTECTED]>
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" <[EMAIL PROTECTED]>
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" <[EMAIL PROTECTED]>
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: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


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

--
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




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

Reply via email to