Avatar billede hojgaard Nybegynder
15. marts 2003 - 18:32 Der er 8 kommentarer og
1 løsning

Data Source

Hej,

Jeg har hørt at man kan bruge DataSource i stedet for DriverManager, og derigennem få connection-pooling.
Er der noget om det?

Hvis ja, hvordan kan jeg komme igang med DataSource?

Eksempler og links er meget velkommen :-)
Avatar billede arne_v Ekspert
15. marts 2003 - 19:38 #1
Du har hørt rigtigt.

I.s.f. at bruger DriverManager.getConnection henter du en
DataSource via JNDI.

Hvilken app-server bruger du ?
Avatar billede hojgaard Nybegynder
15. marts 2003 - 19:41 #2
Under udviklingen kører jeg på Resin, men det er meningen at det skal over på WebSphere at køre bagefter.
Avatar billede arne_v Ekspert
15. marts 2003 - 19:44 #3
Kodemæssigt er det meget simpelt.

Du erstatter:

Class.forName(drivername);
Connection conn = DriverManager.getConnection(url, username, password);

med:

Context initctx  = new InitialContext();
DataSource ds = (DataSource)initctx.lookup(datasourcename);
Connection conn = ds.getConnection();

Det er meget nemt.

Det svære at er at få defineret sin data source.
Avatar billede arne_v Ekspert
15. marts 2003 - 19:46 #4
Man definere sin data source i serverens konfiguration/management.

Og man definerer:
  navn
  driver
  url
  username
  password
  pool size
  etc.
Avatar billede arne_v Ekspert
15. marts 2003 - 19:47 #5
Avatar billede hojgaard Nybegynder
15. marts 2003 - 19:53 #6
Nu er jeg helt grøn hvad angår data source.
Jeg har altid bare brugt drivermanager.

Det vil sige, at hvis jeg erstatter:

Class.forName(drivername);
Connection conn = DriverManager.getConnection(url, username, password);

med:

Context initctx  = new InitialContext();
DataSource ds = (DataSource)initctx.lookup(datasourcename);
Connection conn = ds.getConnection();

Er det så bare konfigurationen på webserveren der skal ændres for at få det til at køre på en WebSphere?
Avatar billede arne_v Ekspert
15. marts 2003 - 19:56 #7
Ja.

Det er en af de smarte ting med DataSource's.

Programmøren refererer bare til en DataSource ved navn.

Så er det server-administratoren som definerer hvad der
ligger bag.

Man kunne jo godt forestille sig at en app der starter med at køre
op mod en MS SQLServer på samme box som app-serveren med max. 5
connections men når load vokser så skiftes app til at bruge en
Oracle database på en separat box med max. 50 connections.

Ved at ligge det i serverens konfiguration fremfor i applikationen
kan driften selv styre den slags.
Avatar billede arne_v Ekspert
15. marts 2003 - 20:00 #8
WebSphere er ikke helt simpel at administrere.

Jeg tror beskrivelsen af hvordan man gør ligger et sted
under dette link:
  http://www-3.ibm.com/software/webservers/appserv/doc/v40/ae/infocenter/was/060614.html
men jeg kan ikke lige finde det.

Men hvis I kører WebSphere i produktion, så har I sikkert folk der
ved den slags.
Avatar billede hojgaard Nybegynder
15. marts 2003 - 20:02 #9
PERFEKT!

Jeg vil prøve at følge opsætning på det link du sendte mig (Resin).
Så kan WebSphere vente til app. er færdig.

1000 tak for hjælpen!
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