Chtěl jsem se zeptat na váš názor nebo zkušenost s prací ve vláknech J2EE aplikací? Četl jsem doporučení, že by se vlákna neměla v J2EE vytvářet resp., že jsou doporučené metody jak to bezpečně dělat (pomocí různých implementací timerů atd.).
Řeším problém, kdy vlákno (request) potřebuje udělat tři dotazy do třech různých databází a ty sloučit do jednoho výsledku. Je velmi pomalé čekat na doběh jednotlivých dotazů, které jsou na sobě nezávislé. Navrhl jsem pro začátek něco takového viz. níže, ale nejsem si jist jestli tam není nějaká záludnost: /** definice pracovní třídy pro práci s DB (obsahuje vše potřebné k načtení dat) */ public class DbWorker implements Callable<Result> { ... } /** voláno z requestu */ ExecutorService executor = Executors.newFixedThreadPool(MAX_THREADS); List<Future<Result>> res = new ArrayList<Future<Integer>>(); for (DbTask task : tasks) { // načtení dat res.add(executor.submit(new DbWorker(task, ...))); } // čekej na dokončení vláken // Zpracování načtených dat for (Future<Integer> future : res) { System.out.println(future.get()); } Petr