Java Tomcat/EE a serial port - design

Solmyr

Java Tomcat/EE a serial port - design
« kdy: 21. 06. 2016, 01:04:30 »
Zdravim,
chtel bych se zeptat javistu jak resite na aplikacnich serverech napriklad komunikaci se seriovym portem (nebo to muze byt komunikace na socketu). V principu mi jde o to kdy/jak vytvorit vlakno co jen posloucha na seriaku/socketu (prenos v ramci aplikace neni problem, napr. JMS). Jde mi o reseni bez JCA. Delate to singletonem, ktery drzi jedno vlakno (je to na aplikacnim sereru bezpecne?) nebo nejak jinak?

Predem dekuji
« Poslední změna: 21. 06. 2016, 08:27:34 od Petr Krčmář »


Franta.

Re:Java Tomcat/EE a serial port - design
« Odpověď #1 kdy: 21. 06. 2016, 19:41:17 »
EJB Singleton: https://docs.oracle.com/javaee/6/tutorial/doc/gipvi.html
Stačí přidat anotaci @Singleton a kontejner ti zajistí, že bude jen jedna instance.

Proč nechceš JCA? Tady by se celkem hodilo.

Pak je ještě možnost přesunout nízkoúrovňovou komunikaci s hardwarem do jiného procesu -- démon, napsaný klidně v céčku, perlu atd. -- který bude data posílat do Java EE aplikace přes JMS nebo třeba SOAP nebo obyčejný TCP soket. Mj. pak takový proces může běžet pod jiným uživatelem nebo dokonce na jiném stroji než EE aplikace.

Solmyr

Re:Java Tomcat/EE a serial port - design
« Odpověď #2 kdy: 22. 06. 2016, 00:18:34 »
Predne moc dik za odpoved.

Nad singletonem jsem premyslel (system v EJB pripadne CDI znam). Nicmene nevim jestli to neni nejakej antipatern (vim ze vytvareni vlastnich thredu v aplikacnim serveru neni nic moc).

Cele by to nakonec melo bezet na rasppi a nechce se mi tam tahat cely EE server a nechal bych to na Tomcatu.

Java pogramek vedle: Poku to bude pres JMS pak je to super napad, to me nenapadlo.
Pres socket: to se dostavame na zacatek protoze tam musi bejt extra vlakno co na socketu bude poslouchat. Nicmene ted jsem koukal ze se to da asi rozjet v vlakne obecnyho servletu (to musim jeste proverit).

Youda

Re:Java Tomcat/EE a serial port - design
« Odpověď #3 kdy: 22. 06. 2016, 00:31:12 »
Predne moc dik za odpoved.

Nad singletonem jsem premyslel (system v EJB pripadne CDI znam). Nicmene nevim jestli to neni nejakej antipatern (vim ze vytvareni vlastnich thredu v aplikacnim serveru neni nic moc).

Cele by to nakonec melo bezet na rasppi a nechce se mi tam tahat cely EE server a nechal bych to na Tomcatu.

Java pogramek vedle: Poku to bude pres JMS pak je to super napad, to me nenapadlo.
Pres socket: to se dostavame na zacatek protoze tam musi bejt extra vlakno co na socketu bude poslouchat. Nicmene ted jsem koukal ze se to da asi rozjet v vlakne obecnyho servletu (to musim jeste proverit).

Heh?
Javu enterprise na rasppi?

Strkat obsluhu seriaku do Tomcatu je nesmysl, jak uz psal predrecnik, chce to mediator, ktery data preparsuje do Java friendly formatu.
Proc tam ma byt Tomcat? Potrebujes web? Neni na to lespi OSGi, orezany Karaf? Potrebujes vubec aplikac, nestaci obyc J2SE daemon?
 
Jestli chces JMS, no tak JMS Tomcat nepodporuje. Leda si prilinkuj do sveho WARka ActiveMQ nejlip i s Camelem, a bude to tucnejsi nez Glassfish J2EE7...

Vlastni thready v J2EE7 je mozne pouzivat, prec Concurrent API a prislusne oanotovat, ay to aplikac po sobe mazal. Pak zapomen na Tomcat, Glassfish/Payara je minimum.

Nejlepe napis, co vlastne chces delat.
Uz jsem videl takove zoufalstvi, jako business aktifitu implementovanou v Tomcatu jako servlety, pricems dana finkcionalita se invokovala z cronu wgetem v shellove skriptu...

Solmyr

Re:Java Tomcat/EE a serial port - design
« Odpověď #4 kdy: 22. 06. 2016, 01:07:04 »
Prave ze na raspi se EE chci vyhnout a mit tam jen tomcat s dotahanejma knihovnama. Ano aby aplikace v picku mela webovy rozhrani je nutnost.

Prave ze standartne delam EE a snazim se neprasit (proto se taky ptam). Jako EE pouzivam JBosse, ale na tohle by stacil jen Tomcat + par knihovenm tak proc tahat celyho molochoidniho JBosse (i jen EE Webprofile je zbytecnej).

V podstate jde o aplikaci ktera bude na webovym ksichtu zobrazovat vycteny data z arduina (ale nejde o domaci automatizaci). Pi nebude ani zapojeny nikam do site, naopak samo bude vytvaret wifi AP a nez k nemu pripojovat nejakej monitor/display kazdej kdo bude chtit se pichne na AP a vycte data z webovyho ksiftu.

Celkove si myslim, ze nejsem ve fazi "jak to udelat" ale v fazi "jak to udelat spravne/inteligentne/v souladu s celou filozofii".


bsmk

Re:Java Tomcat/EE a serial port - design
« Odpověď #5 kdy: 22. 06. 2016, 08:20:39 »
a preco tomcat? ak len preto lebo sa mi nechce ucit nieco ine, tak je to skoda.
http://netty.io/

Solmyr

Re:Java Tomcat/EE a serial port - design
« Odpověď #6 kdy: 22. 06. 2016, 08:37:16 »
Ano, je to protoze znam z tech lhcich serveri jen Tomcat -> neznam vyhody netty. Zkusim si to projit. Dik

Ladislav Thon

Re:Java Tomcat/EE a serial port - design
« Odpověď #7 kdy: 22. 06. 2016, 08:41:40 »
Pokud opravdu chceš použít JavaEE, ale nechce se ti tahat plnotučný aplikáč, tak by se mohla hodit buďto WildFly Servlet Only distribution (obsahuje i EE concurrency utilities) nebo případně WildFly Swarm, který umožňuje vyzobat z WildFly přesně to, co potřebuješ.

perceptron

Re:Java Tomcat/EE a serial port - design
« Odpověď #8 kdy: 22. 06. 2016, 11:20:44 »
alebo jetty