Monitoring Declarative Transactions in Spring, <br>bod pro Otce Fura

Nevím jak vy, ale já mám vždy radost, když někdo jiný nezávisle dojde ke stejným závěrům, jako jsem došel já sám. Osobně to považuji za jisté potvrzení smysluplnosti mých vlastních úvah a toho, že nejsem tak úplně "mimo mísu".

Dnes vyšel na java.DZone.com článek s názvem Monitoring Declarative Transactions in Spring od Toma Celluciho, který se zabývá jednoduchým otestováním správného nastavení pointcutů při používání deklarativního nastavení transakcí ve Springu. Pokud si pamatujete, sám jsem tuto problematiku řešil před pár měsíci a publikoval vlastní řešení (a tak trochu mě zviklal Dagi, když se na něj na jOpenSpace moc netvářil).

Tom Celluci dochází ke stejnému závěru jako já a to je použití logovací funkcionality k otestování přítomnosti transakcí při volání metod v runtime. Bod v kterém se rozcházíme je ten, jak ověřit přítomnost advice. On se dotazuje API Springu na přítomnost aktivní transakce, kdežto já zůstávám pasivní - pouze monitorující logovací výstup advice. V mém případě je nevýhoda navěšení na interní funkcionalitu advicy a naopak výhoda v tom, že stejný způsob můžu použít i na vlastní advicy, které řeší např. zabezpečení aniž bych musel rozšiřovat jejich API. Jeho způob je možná čistší, ale použitelný zase pouze na ověření správnosti transakční logiky v kombinaci se Springem.

Nicméně, evidentní je, že to je problém, který pálí víc vývojářů než jen Otce Fura v Čechách. A to mi dnes ráno udělalo opravdu radost ...