Avatar billede hataffrugt Nybegynder
05. januar 2006 - 16:14 Der er 23 kommentarer og
1 løsning

Opdatering af JList hvert 10 sekund

Hej eksperter....

Jeg ville høre om der var en der kunne gie mi et eksempel på hvordan man for sin JList opdateret hvert 10 sekund.
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 16:17 #1
Avatar billede mwl Nybegynder
05. januar 2006 - 16:41 #2
Der findes flere måde at gøre dette på, men måske du bør overveje om du ikke har et designproblem? Løser du det eksempelvis istedet med et observer pattern skal listen kun opdateres når der er sket noget nyt.
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 16:44 #3
Det er rigtigt, at man kan løse mange problemer med et observer pattern, men der kan jo også sagtens være situationer hvor det ikke løser det. Afspejling af en tabel i en database vil være svær at implementere med et observerpattern :)
Avatar billede mwl Nybegynder
05. januar 2006 - 16:51 #4
Det kan du have ret i! Men i forhold til Martin Fowlers trelagsmodel er det nu alligevel ikke helt ved siden af. Afspejling af en tabel er intet problem i den sammenhæng.
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 17:01 #5
Det er et problem i den forstand, at en database ikke kan afgive events, og på den måde ved du ikke hvornår der skal opdateres. At du så kan lægge ansvaret længere ned i dine lag, ændrer ikke på, at der skal være en timer et sted der læser nyeste informationer fra databasen.
Avatar billede mwl Nybegynder
05. januar 2006 - 18:09 #6
Det vil jeg nu ikke give dig ret i. Den løsning du beskriver minder om brug af en statisk variabel hvor databasen, istedet for et domænelag, er det centrale i programmet.
Avatar billede hataffrugt Nybegynder
05. januar 2006 - 18:15 #7
det jeg skal opdatere er en JList med en række elementer hvor der er beregnet tid tilbage før de er "Færdige"... defor ville det jo være rart at den opdaterede sig selv med jævne mellemrum istedet for en opdater kanp for at se den korrekte tilbage tid
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 18:21 #8
Så skal du lave det som et observer pattern, hvor de enkelte elementer leverer en status tilbage hvor langt det er nået.
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 18:25 #9
Og til mwl

Du kan da ikke ændre på, at du bliver nødt til at tjekke for ændringer i databasen. Og det har intet at gøre med at bruge databasen som det centrale fremfor et domænelag. Hvis du læser hvad jeg skriver, så er det:

Der skal et sted i systemet være en timer der tjekker for ændringer. Om du så laver denne timer i dit domænelag eller i gui'en, er afhængig af situationen. Hvis det er noget du selv kontrollerer - med det mener jeg, at det er dit eget program der fyrer events - så er jeg enig i at det pæneste er at gemme det ned i domænelaget. Men det ændrer ikke på timeren!
Avatar billede hataffrugt Nybegynder
05. januar 2006 - 18:27 #10
takker.... vil du så og lige et svar ;O)
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 18:27 #11
>> mwl

Kan du give mig et eksempel på, hvordan du vil løse problemet med databasen, uden at du skal tjekke for ændringer løbende?
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 18:28 #12
Hvem skal lægge et svar? :)
Avatar billede mwl Nybegynder
05. januar 2006 - 19:36 #13
Du skal jo kun tjekke for ændringer hvis du har flere processer omkring samme data. Kører du det hele i én proces har du de data du skal bruge i domænelaget. Det kan eksempelvis løses med en DataMapper, se http://www.martinfowler.com/eaaCatalog/dataMapper.html

Jeg vil så også gerne vide hvorfor du mener at det er nødvendigt?
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 19:59 #14
Jeg er udmærket bekendt med persistens-framework.
Men de data du efterspørger behøver jo ikke nødvendigvis komme fra samme applikation. De kan eksempelvis komme fra en hjemmeside eller lignende. Og derfor ved du ikke hvornår de kommer i databasen, og kan derfor ikke handle derudfra.
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 20:00 #15
Men det er måske også det du mener med:

"flere processer omkring samme data" ?

Hvis det er tilfældet, nærmer vi os enighed...
Avatar billede mwl Nybegynder
05. januar 2006 - 20:02 #16
Men så bruger du databasen som en kommunikationsvej? Der mener jeg så at man istedet skal søge mod forskellige præsentationspakker.
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 20:04 #17
Enig! I større applikationer, vel at mærk. Men det er absolut overkill i en mindre applikationer.
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 20:04 #18
Og de grammatiske fejl er så gratis :)
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 20:07 #19
F.eks.

Hvis det eneste din applikation skal, er at vise nogle ordrer fra en hjemmeside, så vil jeg ikke mene man skal til at lave en serverapplikation, som kan notificere dig, når der sker ændringer.
Avatar billede mwl Nybegynder
05. januar 2006 - 20:11 #20
Umiddelbart tror jeg nu ikke at den samlede applikation bliver meget større.
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 20:12 #21
Det siger jeg heller ikke. Jeg siger det ikke er nødvendigt ved mindre applikationer. Så skal du selv til at hoste den server, for du kan ikke køre den på almindelige webhoteller.
Avatar billede mikkelbm Nybegynder
05. januar 2006 - 20:15 #22
Så det jeg siger (igen): Så afhænger det meget af hvad formålet med ens applikation er.
Jeg vil til hver en tid foretrække at lave den store pæne client/server løsning, men omstændighederne er mange gange sådan, at det ikke kan lade sig gøre.
Avatar billede arne_v Ekspert
05. januar 2006 - 23:36 #23
Hvis man har valgmuligheden så er det altid godt at have noget fælles
server kode som kan notify'e hvis data ændres.

Men nogen gange er det ikke muligt. Data opdateres af en 25 år gammel Cobol
applikation. Data opdateres af en applikation som ejes af en anden afdeling.
Nogen gange har man visse ting givet udefra/ovenfra.

To tekniske detaljer:
1)  Visse database understøtter stored procedures i Java. Jeg har aldrig prøvet
    men principielt må man kunne lave en INSERT/UPDATE/DELETE trigger som kalder
    en SP i Java som notifyer client apps.
2)  Observer pattern er ret simpelt at implementere one process og multi
    process one node, men multi node kan nemt give en del ekstra arbejde.
Avatar billede hataffrugt Nybegynder
18. januar 2006 - 14:14 #24
takker endnu engang for hjælpen og undskyld navne forvækslingen.

og sikke i kan fortsætte med at være enige i at være uenige ;O)
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