Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ja i konekcija na bazu...

[es] :: Java :: Ja i konekcija na bazu...

[ Pregleda: 1885 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

grizzly
Beograd

Član broj: 7978
Poruke: 262



+4 Profil

icon Ja i konekcija na bazu...25.06.2007. u 23:53 - pre 204 meseci
Cao ljudi, ja nesto pokusavam sa web aplikacijama na tomcatu na cnt-ovim serverima, ali sam opet zakocio. Prvi put kad sam pravio konekciju napravio sam tako da zavisi od servleta koji mora da bude inicijalizovan da bi se bilo sta kacilo na bazu. To je bio problem jer se serveri restartuju s vremena na vreme a glupo je da ja pazim kad se to desava pa da ponovo inicijalizujem taj servlet, pa sam pokusao da napravim nezavisno od toga da li je server restartovan u medjuvremenu.

Tako sam napisao donju klasu, a kad negde hocu da komuniciram sa bazom ja pozovem metodu getConnection() klase DBControl da mi vrati ili napravi konekciju ako je niko do tad nije kreirao. I to je radilo neko vreme, pa je prestalo da radi. Mogao bih se zakleti da je nakon toga ponovo malo radilo ali sad vec par dana uopste ne radi... Gde sam pogresio?

Da li se mozda desava da ova konekcija zastari, tako da ne moze da radi iako je pre toga inicijalizovana pa nije vise null?



Code:


package database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class DBControl {
    
    static Connection conn = null;
    
    public static synchronized Connection getConnection(){
        if(conn!=null){
            return conn;
        }else{
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException ex) {
                ex.printStackTrace();
            }
            try {
                conn = DriverManager.getConnection("jdbc:mysql://localhost/baza","root","root");
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
            return conn;
        }
    }  
}


 
Odgovor na temu

bgd2500

Član broj: 55912
Poruke: 226
*.finsoft.co.yu.



+7 Profil

icon Re: Ja i konekcija na bazu...26.06.2007. u 10:30 - pre 204 meseci
Ovo ti nece raditi ako se restartuje baza (drzaces referencu na konekciju koja nije validna).
Drugo radis sa samo jednom konekcijom sto moze da bude usko grlo.
Za ozbiljne primene treba ti connection pool. Ako hoces da otkrivas toplu vodu mozes i sam da ga napises, mada uopste nije trivijalno. Zato bolje uzmi neko gotovo resenje.

http://dev.mysql.com/tech-reso...n_pooling_with_connectorj.html
 
Odgovor na temu

grizzly
Beograd

Član broj: 7978
Poruke: 262



+4 Profil

icon Re: Ja i konekcija na bazu...27.06.2007. u 11:46 - pre 204 meseci
Hvala bgd2500.

Ovo je vise studentsko vezbanje, ali moram da ga brzo nabudzim da radi a uz to i nemam mnogo vremena. Definitivno cu se pozabaviti connection pool ovima, samo bih sad na brzinu da resim ovaj problem.

Sad sam gledao u dokumentaciji isClosed() metodu za koju se kaze da se ne moze koristit da se utvrdi da li je konekcija ka bazi validna ili ne, nego da se treba hvatati exception pa cui probati tako da nadobudzim :)

poz
 
Odgovor na temu

[es] :: Java :: Ja i konekcija na bazu...

[ Pregleda: 1885 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.