Synchronizace scheduleru v clusteru

Na našem projektu Starthead jsme potřebovali implementovat automatické provádění úkolu určeného ke zpracovávání dat v databázi. Ve frameworku Spring, který je pro vývoj použit, je tato úloha jednoduše řešitelná například pomocí TaskScheduler.
Zajímavější situace nastává, pokud má aplikace bežet v clusterovém řešení. To znamená, že je potřeba řešit synchronizaci, aby nedocházelo k vícenásobnému spouštění jobů ve stejný čas. Snažili jsme se najít co nejjednodužší řešení, které by splňovalo danou podmínku a tím se v našem případě ukázalo využití Quartz scheduleru s patřičnou clusterovou konfigurací a synchronizováním pomocí ukládání do databáze. více »


XPath a Selenium testy

XPath je dotazovací jazyk (query language) pro XML dokument. Nečekejte náhradu w3schools tutorialu, ale dozvíte se jak najít element v DOMu pomocí funkcí a atributů. Na názorném příkladu si ukážeme, jak lze XPath využít při psaní Selenium testů webových aplikací. Selenium používá jako lokátory například id, name, css selektor, text odkazu nebo právě XPath.
více »

Ukázka pluginu XPather

IntelliJ Idea pro vývoj v Javě

Většina lidí si vývoj v Javě spojí s jedním ze dvou nejpoužívanějších IDE – Eclipse a Netbeans. Třetí, donedávna čistě komerční IDE je často neprávem přehlíženo. Před pár dny byla uvolněna nová verze IDE IntelliJ Idea s číslem 11. IntelliJ Idea (dále jen Idea), je vyvíjena firmou Jet Brains, která se zaměřuje na vývoj špičkových vývojových nástrojů pro různé programovací jazyky, mimo jiné IDE pro Ruby, Python nebo Objective C. V článku se budu snažit shrnout věci, které jsem si oblíbil a chybí nebo jsou v horším provedení u konkurence (především Eclipse). více »


Doporučená četba

Na twitteru vám pravidelně přinášíme doporučení na technické články. Pro ty, kteří nás nesledují, ale i pro ty, kterým například nějaký odkaz utekl, přinášíme seznam toho nejzajímavějšího. Doporučená četba, která by neměla zapadnout ve štěbetání twitteru. Nakonec pro odlehčení dva Dilbert stripy. více »


Získávání dat z HTML stránek

Na jednom projektu jsme potřebovali získávat informace z HTML stránek a využili jsme knihovnu jSoup. Její jednoduché použití si ukážeme na příkladu získání jednotlivých popisů volných pozic ze stránek Aspectworks. Pomocí metody connect a get() získáme načtenou stránkou

Document doc = Jsoup.connect("http://www.aspectworks.com/volne-pozice").get();

více »


JTA tedy distribuované transakce se dost často použivájí v enterprise systémech, kde je potřeba přistupovat jak k více databázím, tak třeba v kombinaci databáze a messaging systém (např. Websphere MQ). Mezi vývojáři obecně panuje představa, že pro jeho využítí potřebuji aplikační server ala Jboss či Websphere, případně také, že bez EJB JTA nelze použít. Toto není samozřejmě pravda a např. pokud použijeme Spring, situace se nám ještě velmi zjednoduší. V příkladu si ukážeme jak nakonfigurovat transakční manager pro test, který otestuje jednu komponentu, ve které je logika přístupu k více XA zdrojům. více »


Jak na mock HTTP serveru

Pro jednoho z naších zákazníků dodáváme C2DM – zasílání notifikací na mobilní telefon s operačním systémem Android. Tato služba je implementována jako HTTP request, ve kterém pošlete zprávu, registrační identifikátor instance zařízení s androidem a C2DM server se postará o doručení. více »


Na našem twitter účtu AspectWorks mimo jiné naleznete odkazy na články, přednášky z oboru a vůbec další zajímavosti, které nás cvrnknou přes nos a o které bychom se s vámi rádi podělili. Informací je tolik a ne každému tématu je dopřáno samostatného článku na našem blogu.


Pokročilé integrační buildy

Pevně veřím, že continuous integration je již zažitý standard na všech, nebo alespoň na těch jednodušších, projektech. Chtěl bych rozptýlit případné obavy z konfigurace složitějších projektů. Ukážeme si, jak pouhým mvn clean verify nastartujeme celou SOA platformu a nad ní spustíme selenium testy.
více »