Dobrý den,

jestli to chápu dobře. Řešením by bylo udělat bean která by měla tělo
while (true)
{
    // zpracovani fronty
}

tato bean by implementovala interface BlockingQueue a to samé rozhraní by implementovala i webova aplikace. webova aplikace by ukladala na zasobnik pozadavky a beana "while (true)" by frontu zpracovávala.

Pochopil jsem to dobře ?

Pokud ano, zřejmě budu muset thread ve kterém běží "while (true)" uspávat, abych nevyžral všechny systémové prostředky. Je to tak ?

Předem děkuji,
Korecký


Dne 30.10.2011 11:25, Petr Přikryl napsal(a):
Hmm a nestacilo by Vam application scope beana ktera by davala prikazy do fronty, fronty ktera je thread safe?

A pri pridani nejakeho prvky by ji neco vybiralo, napada me po ranu bud jina beana, (ktera by mel while true, a volani fronty by bylo blokujici) prip kdybyste to chtel mit casovane tak neco ze springu s casovacem...

Jiank jako fronta mozna neco z BlockingQueue?


Anebo JMS? to je primo na tyto pripady. Asi bych volil JMS.

PP

On 30. říjen 2011 11:09:00, Vladislav Korecký wrote:
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ý


Odpovedet emailem