In article <[email protected]>, vladislav_korecky- [email protected] says... > > Dobrý den, > jsem začátečník s Java a měl bych na Vás jeden dotaz. > Mám zařízení naslouchající na TCP a které dokáže obsloužit jen jednoho > klienta (neumí více připojení současně). Jedná se o interface k regulaci > domu. > Píši si webovou aplikaci (s použitím Apache Wicket), která by ovládala > dům, ale řeším následující problém. Pokud se k webovým stránkám přihlásí > více klientů, vytvoří se více instancí na webovém serveru a každá se > bude snažit komunikovat s interface regulace, ale to je nedokáže obsloužit. > Napadlo mě řešení s vytvořením systémové služby, která by pomocí XML-RPC > přijímala požadavky od webových aplikací a dávala by je do zásobníku > FIFO. Jednotlivé požadavky by posílala do regulace a výsledek vracela > zpět do webových aplikací. > Toto řešení má jednu chybu, nenajdu hosting (cenově dostupný) kam bych > mohl nainstalovat vlastní systémovou službu, takové služby nabízí jen > server hostingy a ty jsou moc drahé. > Lze tento problém nějak řešit přímo na aplikačním serveru ? Buď přes > nějaké sdílení session mezi instancemi téže aplikace nebo lze dokonce > vytvořit něco jako systémovou službu přímo v aplikačním serveru ? > > Předem děkuji za nápady, > Korecký
Dobrý den ideální řešení závisí na mnoha faktorech které jste neuvedl: * jak rychle ten interface reaguje * kolik bude souběžných klientů * jak bude výsledek prezentován přes web (response čeká na vyřešení požadavku, AJAX, nebo "podívejte se na URL xx jestli ej váš požadavek již uspokojen", ...) * ... Předpokládám, že to píšete pro sebe a sousedy ve volném čase a možnost kolize je minimální. Já bych použil lock s timeoutem (5-10s) a výsledek vracel v response. Pokud to náhodovou timeoutuje, tak "sorry uživateli, zkus to znovu". Honza
