2 komentáře “Část #4: Modulární systémy ve Spring Framework

  1. No tak to jsem rád, že nápad nezůstane zapomenut. Přesně z tohoto důvodu jsem celou sérii psal. Pokud byste měli s řešením nějaké pozitivní / negativní zkušenosti, tak vám budu vděčný, pokud je sem připíšete. My to řešení docela uspokojivě provozujeme rok, tak by mě zajímala zase vaše zkušenost.

  2. Ahoj Honzo, bavil jsem se dnes s naším technologickým šéfem vývoje o projektu P@W (PeopleAtWork) a nasazení Springu a modulárnosti. Zjistil jsem, že v P@Wu kolega naimplementoval modulární řešení propagovaných bean implementujících rozhraní ModulePropagatedBean. Pokud ho beana implementuje, je postrčena do Root kontextu a je k dispozici ostatním modulům. Hodně mi to připomínalo tvoje řešení, tak jsem mu ukazoval tvoje stránky, a on na to, no vždyť podle tohohle jsem to naprogramoval 🙂 :)!

    Takže shrnuto a podtrženo, v našem produktu je použit tvůj návrhový vzor pro Spring z tohoto seriálu – řešení modularity jednotlivých komponent a poskládání výsledného Spring kontextu tak, aby zároveň vznikl fungující aplikační kontext + aby byla udržena nezávislost modulů – balení v samostatném Jaru.

    Tušil jsem, že ti to udělá radost, tak to píšu ;).

  3. Dík za pochvalu 🙂 .
    Jinak myslím, že by nebylo ani potřeba řešit transakční interceptor programově. Ony ty beany jsou totiž normálně vytvářené Springem a Spring je tudíž může normálně obalit proxy objekty – jen se vše odehraje v kontextu nižší úrovně. Já pak jen v závěru už hotovou „public“ beanu vezmu a zaregistruji ji také do nadřízeného kontextu.

    V TODO listu mám zaznamenané, abych v tomhle ohledu teorii podpořil praxí, takže jakmile ten test napíšu, hodím sem o tom ještě dodatek. Tohle je podle mého názoru právě věc, která v modulárním systému postaveném na OSGI nepůjde.

  4. Díky moc za tento článek. Sám vím, kolik je za tím práce dát takovýto článek dohromady, takže fakt super.

    S těmi transakcemi si také myslím, že nebude problém – jak v rámci jednoho aplikačního kontextu, tak v rámci více kontextů resp. root kontextu. Jen v tvém pojetí se bude muset naimplementovat transakční interseptor programově, protože ty vkládáš veřejné beany dynamicky za běhu.