Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 12 odgovora
  • 5.155 pregleda

Najnovija ↓

Sacuvati podatke iz DB2 u java bean 30.10.2006. u 22:21 · pre 243 meseca #1
Znaci slucaj je ovakav: Hteo bih da citam DB2 (USA states table) i da sve ove podatke sacuvam u java bean, koji ce da bude u memory i koga mogu da access kada mi treba. Ovo je idealno resenje jer pokusavamo da eliminisemo user I/O. Da li je neko od vas radio ovako nesto? Trazio sam po netu neki tutorialz ali bezuspeshno...mozda jer nisam znao sta tacno da trazim.


hvala puno.

nn
Re: Sacuvati podatke iz DB2 u java bean 31.10.2006. u 09:49 · pre 243 meseca #3
Mozda da probas sa Hibernate-om, da premapiras tabele u bean-ove.

Pozdrav!
Potpis
mnikolic
Re: Sacuvati podatke iz DB2 u java bean 31.10.2006. u 14:18 · pre 243 meseca #4
yeste u pitanju je web aplikacija. Ideja je da napravim taj bean koji ce
do stoji tu u memory i biti dostupan raznim programima.

np. select state_name from ownersql.srt_us_states;
i sada bi hteo da sve state_name sacuvam u taj bean.

ne znam kako jos da pojasnim.

hvala ti puno...

nn
--
Re: Sacuvati podatke iz DB2 u java bean 31.10.2006. u 14:44 · pre 243 meseca #5
Ne znam kako si rešio perzistenciju u aplikaciji, to može da utiče na izbor najboljeg rešenja u ovom slučaju.
Da li koristiš EJB, Hibernate, JDBC ili nešto drugo?

Najprostija varijanta, u slučaju da koristiš JDBC, je da napraviš singleton klasu koja bi se zvala nrp. UsaStatesCache i koja bi na prvi zahtev obavila učitavanje iz baze, a kasnije bi vraćala već učitane vrednosti. Bitno je da upotrebiš neku Thread safe implementaciju singletona i obaviš lazy-load podataka.

Ako koristiš EJB onda možeš u kontejneru da podesiš keširanje odgovarajućih entity bean-ova.
Hibernate ima dva nivoa keša ali ne bih znao da ti preporučim najbolje rešenje, javiće se neko ko zna dobro Hibernate pa će reći šta treba činiti.

Pozdrav!
Re: Sacuvati podatke iz DB2 u java bean 31.10.2006. u 15:05 · pre 243 meseca #6
Citat:
hyle:
koja bi na prvi zahtev obavila učitavanje iz baze, a kasnije bi vraćala već učitane vrednosti.


Da, ali šta ako ta inicijalizacija traje neko vreme? Onda bi korisnik u sred rada morao da čeka, a to nije dobro.

Drugi način je da napišeš klasu koja radi inicijalizaciju i koja treba da implementira ServletContextListener i da obezbedi metode contextInitialized i contextDestroyed. Dakle, u web aplikaciji, start-up kod se može pisati kao ServletContextListener i to su osluškivači koji se izvršavaju kada se web aplikacija prvi put inicijalizuje (pre prvog request-a) i pre nego što se uništi.

Code:

public class Initializer implements ServletContextListener {

    public Initializer() {}
    
    public void contextInitialized(ServletContextEvent event) {
        // Tvoj kod...
    }

    public void contextDestroyed(ServletContextEvent sce) {
        // Tvoj kod...
    }

}
Re: Sacuvati podatke iz DB2 u java bean 31.10.2006. u 15:25 · pre 243 meseca #7
Citat:
Vanja Petreski: Da, ali šta ako ta inicijalizacija traje neko vreme? Onda bi korisnik u sred rada morao da čeka, a to nije dobro.


To ti je večita dilema :)

Ako nešto učitaš odmah, onda bez potrebe zauzimaš memoriju do prvog zahteva, a može se desiti da u toku rade ne bude ni jedan zahtev za tim podacima pa je memorija bila zauzeta bez potrebe.
Ako koristiš lazy load onda će prvi zahtev morati da čeka da se obavi učitavanje.

U slučaju koji je naveo nemnesic mislim da je totalno nebitno koje rešenje će izabrati jer se radi o maloj količini podataka.

Pozdrav!
Re: Sacuvati podatke iz DB2 u java bean 31.10.2006. u 15:39 · pre 243 meseca #8
ma memorija nije problem. ovi ovde kupili $700,000.00 vredan mainframe.
I zahtev je da taj bean "zivi" tu ...i da zauzme nesto memorije i da
ceka, i da drugi programi koriste data which is loaded u taj bean.

znaci imam unlimited resources, i hocu da bean pravim samo jednom recimo
nedeljno...
Re: Sacuvati podatke iz DB2 u java bean 31.10.2006. u 16:24 · pre 243 meseca #9
Pa nista, napravis taj bean, strpas ga u application scope i to je to, ako sam dobro skapirao sta treba...

Nisi nam nista rekao o tehnologiji koju koristis, JSP/Servlet, JSF, nesto drugo?

Da li hoces automatski da ti se osvezava bean na 7 dana ili sam, rucno, da ga punis?
Re: Sacuvati podatke iz DB2 u java bean 31.10.2006. u 16:40 · pre 243 meseca #10
koristim JSP/Servlets

da hocu da se automatski osvezava svake nedelje.

Pa da to je problem, ja NEZNAM kako da napravim taj bean i da ga punim.
kako da trazim po netu? jel znas ti neki tutorial? kako se to zove u jdocs?

poz
nn
Re: Sacuvati podatke iz DB2 u java bean 31.10.2006. u 17:07 · pre 243 meseca #12
vanja,

ja znam jsp/servlet
tj ja radim sa servletima a imamo programmera koji radi sa jsp.
ja NEZNAM kako da pravim bean i punim ga sa db2 data, i posle toga
access that data.

:)

nn


--
Nemanja D. Nesic -:NEM:-
ITS Jr. Computer Programmer
x7378

-All programmers are playwrights and all computers are lousy actors.
Re: Sacuvati podatke iz DB2 u java bean 01.11.2006. u 00:02 · pre 243 meseca #13
ma jednostavno stavi ovu klasu u ServletContext i kada ti treba vadi je otuda! Učitavanje tih podataka iz baze vjerovatno će da radi dovoljno brzo (USA još uvijek ima 52 države? :) ) tako da ne moraš da brineš o performansama učitavanja pa možeš da poslušaš hyle-a i napraviš singleton. Ako ne postoji takav atribut u ServletContextu kreiraj ga i stavi ga tamo, a ako ga nađeš znači da je sve ok i samo ga koristi... ili već tako nešto :)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme