Avatar billede ulrikp Nybegynder
19. juli 2001 - 13:46 Der er 3 kommentarer og
1 løsning

Requests blandes sammen (servlet, RMI, AS/400, RPG)

Jeg har en servlet som starter et RPG-program på en AS/400-maskine via en RMI-server og IBM\'s \"AS400 Toolbox for Java\". Problemet er at brugernes data ind imellem blandes. Der sker nærmere betegnet det, at brugerA får det output (fra RPG-programmet), som brugerB skulle have haft? Servlet\'en implementerer SingleThreadModel og jeg er også sikker på, at der er overensstemmelse mellem input til og output fra RPG-programmet, så det kan næsten kun være i RMI\'serveren eller i TomCat (som jeg bruger til at køre servlets), at det går galt. Er der nogen, der har en idé om, hvad der går galt?
Avatar billede rvj Nybegynder
19. juli 2001 - 13:55 #1
Har du sat din Tomcat til at køre med flere instancer?
Avatar billede ulrikp Nybegynder
19. juli 2001 - 14:44 #2
Det ved jeg faktisk ikke, men i og med servletten kører single thread burde hver bruger \"have sin egen doGet()\", og det er heller ikke her det går galt for de forskellige input til RPG-programmet bliver ikke blandet sammen.
Der eksisterer kun en instans af RMI\'en på webserveren og sådan skal det også være. Når en metode kaldes i RMI\'en af en klient startes et ledigt AS/400-job op og det lukkes igen, når klienten har fået sit output. Det kan være, at AS/400-jobbet i nogle tilfælde ikke lukkes ordentligt ned, så en anden klient fejlagtigt får fat i et job, der står og hænger.
Avatar billede lbhansen Nybegynder
19. juli 2001 - 14:57 #3
Selvom du laver SingleThreadModel, så kan det jo være der er en smutter. Bruger du evt. instansvariable i servletten?

Jeg kan anbefale at du anvender news://news.software.ibm.com til at
stille dit spørgsmål i. Der sidder ofte nogle ganske
kompetente mennesker.
Avatar billede ulrikp Nybegynder
16. august 2008 - 09:37 #4
Det var en global variabel, der ikke var threadsaf :(
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