Hello,<div><br></div><div>Háttérben futó szálak indításához és leállításához én még ezt javaslom:</div><div><br></div><div><a href="http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-lifecycle-processor">http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-lifecycle-processor</a> </div>
<div><br></div><div>Egyszerűen definiálni kell egy singleton bean-t az XML-ben, ami a Lifecycle interface-t implementálja. A konténer indulásakor (miután minden bean elkészült) meghívja a start-ot, majd leálláskor a stop-ot. A dolgot tovább lehet finomítani a Phased interfésszel, amivel a sorrendiséget is meg lehet határozni. Mi ezt használjuk például szerver transzportok indítására, leállítására.</div>
<div><br></div><div>Én személy szerint nem szeretem az annotációkat. Egy bizonyos kódméret fölött kezelhetetlen 'magic' lesz belőle. Jobban szeretem ha az alkalmazás teljes struktúrája ott van az XML-ben. Lehet cserélgetni (dev, qa, prod), áttekinthető, a függőségi gráf vizualizálható, míg ugyanez annotációkkal bajos. De természetesen ez már nem tartozik szorosan a tárgyhoz.</div>
<div><br></div><div>Üdv,</div><div><br></div><div>Szabolcs<br><br><div class="gmail_quote">2012/6/4 Böszörményi Péter <span dir="ltr"><<a href="mailto:zmblevlist@gmail.com" target="_blank">zmblevlist@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Spring nem hasznal poolt. Alapbol singleton az objektum, ha keszites hozza sajat scopeot, akkor ott tudsz poolt megvalositani.<div class="im">
<br>
<br>
On Mon, 04 Jun 2012 21:41:56 +0200, zamek <<a href="mailto:zamek@vili.pmmf.hu" target="_blank">zamek@vili.pmmf.hu</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
06/04/2012 09:20 PM keltezéssel, cx.chico írta:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Az Spring AOP alapban interfészeken keresztül működik. A @Autowired<br>
használatához létre kell hozni egy interfészt. A program így<br>
módosulna:<br>
</blockquote>
<br>
Szerintem a leírt feladat szempontjából nincs szükség arra, hogy a<br>
"PollingService"-t a Spring kezelje (mivel azt írtad, hogy csak egynek<br>
szabad lennie belőle), a DeviceServiceImpl nyugodtan lehet akár ilyen<br>
is:<br>
<br>
@Service("getDeviceData")<br>
public class DeviceServiceImpl extends RemoteServiceServlet implements<br>
DeviceService {<br>
<br>
private final PollingServiceImpl pollingService = new PollingServiceImpl();<br>
<br>
@Override<br>
public Response<Map<String, Pojo>> getDeviceData() {<br>
<br>
Response<Map<String, Pojo>> result = pollingService.start();<br>
pollingService.reset();<br>
<br>
}<br>
<br>
<br>
Hmmm, ez nem fog minden DeviceServiceImpl peldanybol egy pollingService-t letrehozni?<br>
<br>
A spring nem ugy csinalja, mint az ejb, hogy egy pool-ban vannak a bean-ek es szukseg eseten a pool-bol vesz elo egyet, vagy ha nincs, akkor uj peldany?<br>
<br>
Esetleg, ha static lenne, de az mar nagyon nem szep.<br>
<br>
</blockquote>
<br>
<br>
-- <br></div>
Üdvözlettel,<br>
Böszörményi Péter<div class="HOEnZb"><div class="h5"><br>
______________________________<u></u>_________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/<u></u>mailman/listinfo/javalist</a><br>
</div></div></blockquote></div><br></div>