<br>Hi,<br><br> Azért ha már a Phased interfészig eljut az ember, akkor az már kicsit gyanús, hogy valami nagyon el van rontva, ha ilyen rejtett összefüggések vannak a komponensek között, ami miatt szükség van mágikus egész konstansokra az ütemezett indításhoz. <br>

Tapasztalatom szerint az xml-ekkel is hatalmas, kezelhetetlen katyvasz lesz egy idő után, miután vegyül az összehuzalozás kérdése, a tényleges konfigurációs adatokkal. Valamint bár lehet xml-eket importálni, és így magasabb szintű modulokat készíteni, és azokat egyben beemelni, azért ezek nem szeparálódnak - azaz ha beimportálsz egy xml-t, akkor mindegyik bean látszódni fog belőle, még ha azt az eredeti alkotó, belső implementációs kérdésnek is gondolta. Az xml gép feldolgozása valóban csábító, de így egyes elvetemült embereket még arra is csábíthatja, hogy írjanak egy meta konfigurációs nyelvet, amivel generálhatják a különféle környezetekhez való xml konfigurációkat ... :)<br>
 Ha már Spring, akkor szerintem inkább ezzel praktikus összehuzalozni az objektumokat:<br><a href="http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-java">http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-java</a><br>
Ezekből képződnek a &quot;modulok&quot;, amik egymásra is tudnak hivatkozni, egymást tudják kiterjeszteni, priváttá lehet tenni részeket, stb, <br>S a pár, valódi konfigurációs értéket meg egy property fileból húzza be az ember ...<br>
<br>üdv<br>Zs<br>
<br><div class="gmail_quote">2012/6/4 Szabolcs Póta <span dir="ltr">&lt;<a href="mailto:szabolcs.pota@gmail.com" target="_blank">szabolcs.pota@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

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" target="_blank">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 &#39;magic&#39; 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<div><div><br><br><div class="gmail_quote">2012/6/4 Böszörményi Péter <span dir="ltr">&lt;<a href="mailto:zmblevlist@gmail.com" target="_blank">zmblevlist@gmail.com</a>&gt;</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>


<br>
<br>
On Mon, 04 Jun 2012 21:41:56 +0200, zamek &lt;<a href="mailto:zamek@vili.pmmf.hu" target="_blank">zamek@vili.pmmf.hu</a>&gt; 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>
&quot;PollingService&quot;-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(&quot;getDeviceData&quot;)<br>
public class DeviceServiceImpl extends RemoteServiceServlet implements<br>
        DeviceService {<br>
<br>
    private final PollingServiceImpl pollingService = new PollingServiceImpl();<br>
<br>
    @Override<br>
    public Response&lt;Map&lt;String, Pojo&gt;&gt;  getDeviceData() {<br>
<br>
           Response&lt;Map&lt;String, Pojo&gt;&gt;  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><div><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></div></div>
<br>_______________________________________________<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/mailman/listinfo/javalist</a><br>
<br></blockquote></div><br>