Avatar billede withli Nybegynder
28. juli 2004 - 21:07 Der er 13 kommentarer og
2 løsninger

Problemer med at lave en feature.

Hejsa Eksperter.

Jeg skal lave et websystem, som egentlig er et handels system, altså et avanceret Shop system, med nogle forskellige Affiliates, således at der kan være tilknyttet forskellige shops til den samme løsning.

Jeg er kommet til at jeg har fået min JSP box sat op, og jeg skal til at kode skidtet op, men jeg er ikke helt klar over hvorledes at jeg skal sætte det op, således at jeg instantierer databaseadgangen kun en gang, og holder den i live også selv om der ikke er nogen besøgende på websitet.

Jeg har hørt at man skal kunne gøre det med en Singleton, men jeg har ingen anelse om hvordan at jeg skal skrive den, og hvorledes at jeg skal få enten Resin eller Tomcat til at acceptere en sådan.

Nogen der kan hjælpe?
Avatar billede arne_v Ekspert
28. juli 2004 - 21:26 #1
Tomcat (og Resin) supporterer database pool som du kan bruge.

Det er uden tvivl implementeret som singleton, men det behøver du ikke
bekymre dig så meget om.

Hvis du kun vil have en database connection kan du sætte pool size til 1.

Men hvorfor vil du det ? Det vil da være skidt for performance !

Og en connection pool med flere connections bør ikke give nogen samtidigheds problemer.
Avatar billede arne_v Ekspert
28. juli 2004 - 21:36 #2
Connection pool i Tomcat er beskrevet her:
  http://www.eksperten.dk/artikler/50
Avatar billede arne_v Ekspert
28. juli 2004 - 21:38 #3
Hvis du måtte ønske at lave din egen singleton, så er det lige ud af landevejen
efter singleton pattern (se f.eks. http://www.eksperten.dk/artikler/34) en singleton
ryger ikke ud førend hele web applikationen lukkes ned.
Avatar billede Slettet bruger
29. juli 2004 - 11:42 #4
Hvis du har en mail kan jeg sende dig min singleton til MySql
Avatar billede arne_v Ekspert
08. august 2004 - 22:27 #5
withli>

Er du kommet videre ?
Avatar billede withli Nybegynder
10. august 2004 - 13:22 #6
Arne. Faktisk ikke, min tomcat kan ikke rigtigt få alle de klasser ind som jeg skal bruge, jeg kan ihvertifald ikke rigtigt få dem til at makke ret, og jeg ved ikke hvorfor.

Snøft
Avatar billede arne_v Ekspert
10. august 2004 - 13:25 #7
Du vil typisk have en struktur som:

webapps/dinapp/dinside.jsp
webapps/dinapp/WEB-INF/web.xml
webapps/dinapp/WEB-INF/classes/dinpakke/DinKlasse.class
webapps/dinapp/WEB-INF/lib/jdbcdriver.jar

Har du det ?

Ellers forklar lidt nærmere om de fejl du får !
Avatar billede withli Nybegynder
10. august 2004 - 15:32 #8
Jeg forsøger mig med følgende.

try{
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        try{
                dbconn = DriverManager.getConnection("jdbc:mysql://212.99.250.5","roo","T0r0nt0");
                sql = dbconn.prepareStatement("SELECT stock from products*");
                results = sql.executeQuery();
                while(results.next())
                {
                        stock = results.getInt("stock");
                }
        }catch (SQLException s)
        {
                out.print("SQL error");
        }
}catch (ClassNotFoundException error)
{
        out.print( "Class loading Error");


Og der bliver ClassNotFoundException kastet, hvor skal jeg lægge mysql driveren hen
Avatar billede withli Nybegynder
10. august 2004 - 15:32 #9
Maximus, du må meget gerne sende din singleton til min email addresse cl@withit.dk
Avatar billede arne_v Ekspert
10. august 2004 - 17:04 #10
MySQL JDBC driver jar filen skal ligge i:

WEB-INF/lib
Avatar billede arne_v Ekspert
10. august 2004 - 17:05 #11
Du har downloadet Connector/J ikke ?

Jar filen hedder typisk noget a la:

mysql-connector-java-x.x.xx-bin.jar
Avatar billede withli Nybegynder
13. august 2004 - 14:38 #12
Takkser, nu har jeg fundet ud af det. Det er super kanon der.

Kan jeg ikke lige få jer begge til at skrive et svar, så smider jeg lige nogle point til jer begge.
Avatar billede arne_v Ekspert
13. august 2004 - 14:40 #13
ok
Avatar billede Slettet bruger
13. august 2004 - 14:44 #14
ok herfra
Avatar billede withli Nybegynder
13. august 2004 - 14:50 #15
over and done with it jeg siger takker.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester