27. oktober 2001 - 16:11Der er
4 kommentarer og 2 løsninger
Klasse som lever permanent
Hvad er det nu det hedder hvis man gerne vil have en klasse som ligsom lever permanent i ens runtime.
F.eks. bruger man det hvis man har en web-server, og gerne vil have en connentionpool. Så vil man jo gerne instatierer den når webserveren starter, og så skal man i alle .java bare kunne skrive connectionpool.getConnection().
Man kan så også bruge samme princip hvis man vil have nogen klasser som læser fra databasen, til at cache inforformation.
Hvad er det nu det hedder, det har et eller andet java-navn. Man må også gerne provide et lille bitte eksempel. Helst et minimums-eksempel, ikke et eller andet flere sider langt.
Hvad med at lave en klasse, som du kalder, når webapplikationen starter (kan defineres i web.xml-filen), og som gemmer ConnectionPool\'en i ServletContext-scope
logical: Det der eftersøges her er ikke en singleton design pattern. En singleton pattern er blot et udtryk for at kun en enkelt instans af et objekt skal eksistere, ikke at den skal eksistere hele tiden. PS Angående implementering af singleton, så husk readResolve metoden for at gøre det til en rigtig singleton, også hvad angår serialisering.
carstenknudsen>> Jeg må give dig ret, at det ikke helt var et Singleton han spurgte efter (Jeg læste det som ConnectionPool.getConnectionPool()), men så vil han have en static class, som er instantieret pr. default, og her er Singleton et bedre alternativ alligevel.
Derudover, har jeg ingen brug for at implementere readResolve metode, hvis jeg ikke gør klassen Serializable. Jeg plejer trods alt at vide, hvad jeg laver :-)
Jamen jeg er ude efter to ting, både det der singleton-begreb. Og så hvordan jeg skal bruge min Connetionpool, uden at skulle initalisere den hvergang.
Men jeg tror jeg kan klare mig nu.
Venlig Hilsen, og Tak.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.