<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Java Code Geeks &#187; Tomasz Nurkiewicz</title> <atom:link href="http://www.javacodegeeks.com/author/Tomasz-Nurkiewicz/feed" rel="self" type="application/rss+xml" /><link>http://www.javacodegeeks.com</link> <description>Java 2 Java Developers Resource Center</description> <lastBuildDate>Sat, 18 May 2013 12:00:22 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.5.1</generator> <item><title>Java 8: CompletableFuture in action</title><link>http://www.javacodegeeks.com/2013/05/java-8-completablefuture-in-action.html</link> <comments>http://www.javacodegeeks.com/2013/05/java-8-completablefuture-in-action.html#comments</comments> <pubDate>Tue, 14 May 2013 10:00:48 +0000</pubDate> <dc:creator>Tomasz Nurkiewicz</dc:creator> <category><![CDATA[Core Java]]></category> <category><![CDATA[Concurrency]]></category><guid isPermaLink="false">http://www.javacodegeeks.com/?p=12798</guid> <description><![CDATA[After thoroughly exploring CompletableFuture API in Java 8 we are prepared to write a simplistic web crawler. We solved similar problem already using ExecutorCompletionService, Guava ListenableFuture and Scala/Akka. I choose the same problem so that it&#8217;s easy to compare approaches and implementation techniques. First we shall define a simple, blocking method to download the contents [...]]]></description> <wfw:commentRss>http://www.javacodegeeks.com/2013/05/java-8-completablefuture-in-action.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Java 8: Definitive guide to CompletableFuture</title><link>http://www.javacodegeeks.com/2013/05/java-8-definitive-guide-to-completablefuture.html</link> <comments>http://www.javacodegeeks.com/2013/05/java-8-definitive-guide-to-completablefuture.html#comments</comments> <pubDate>Mon, 13 May 2013 22:00:44 +0000</pubDate> <dc:creator>Tomasz Nurkiewicz</dc:creator> <category><![CDATA[Core Java]]></category> <category><![CDATA[Concurrency]]></category> <category><![CDATA[Java 8]]></category> <category><![CDATA[JMS]]></category><guid isPermaLink="false">http://www.javacodegeeks.com/?p=12696</guid> <description><![CDATA[Java 8 is coming so it&#8217;s time to study new features. While Java 7 and Java 6 were rather minor releases, version 8 will be a big step forward. Maybe even too big? Today I will give you a thorough explanation of new abstraction in JDK 8 &#8211; CompletableFuture&#60;T&#62;. As you all know Java 8 [...]]]></description> <wfw:commentRss>http://www.javacodegeeks.com/2013/05/java-8-definitive-guide-to-completablefuture.html/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Synchronising Multithreaded Integration Tests revisited</title><link>http://www.javacodegeeks.com/2013/05/synchronising-multithreaded-integration-tests-revisited.html</link> <comments>http://www.javacodegeeks.com/2013/05/synchronising-multithreaded-integration-tests-revisited.html#comments</comments> <pubDate>Fri, 10 May 2013 07:00:20 +0000</pubDate> <dc:creator>Tomasz Nurkiewicz</dc:creator> <category><![CDATA[Enterprise Java]]></category> <category><![CDATA[Concurrency]]></category> <category><![CDATA[Testing]]></category><guid isPermaLink="false">http://www.javacodegeeks.com/?p=12516</guid> <description><![CDATA[I recently stumbled upon an articleSynchronising Multithreaded Integration Tests on Captain Debug&#8217;s Blog. That post emphasizes the problem of designing integration tests involving class under test running business logic asynchronously. This contrived example was given (I stripped some comments): &#160; &#160; &#160; &#160; &#160; &#160; &#160; public class ThreadWrapper { public void doWork() { Thread [...]]]></description> <wfw:commentRss>http://www.javacodegeeks.com/2013/05/synchronising-multithreaded-integration-tests-revisited.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Lazy sequences in Scala and Clojure</title><link>http://www.javacodegeeks.com/2013/05/lazy-sequences-in-scala-and-clojure.html</link> <comments>http://www.javacodegeeks.com/2013/05/lazy-sequences-in-scala-and-clojure.html#comments</comments> <pubDate>Thu, 09 May 2013 22:00:06 +0000</pubDate> <dc:creator>Tomasz Nurkiewicz</dc:creator> <category><![CDATA[Scala]]></category><guid isPermaLink="false">http://www.javacodegeeks.com/?p=12520</guid> <description><![CDATA[Lazy sequences (also known as streams) are an interesting functional data structure which you might have never heard of. Basically lazy sequence is a list that is not fully known/computed until you actually use it. Imagine a list that is very expensive to create and you don&#8217;t want to compute too much &#8211; but still [...]]]></description> <wfw:commentRss>http://www.javacodegeeks.com/2013/05/lazy-sequences-in-scala-and-clojure.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Scala traits implementation and interoperability. Part II: Traits linearization</title><link>http://www.javacodegeeks.com/2013/04/scala-traits-implementation-and-interoperability-part-ii-traits-linearization.html</link> <comments>http://www.javacodegeeks.com/2013/04/scala-traits-implementation-and-interoperability-part-ii-traits-linearization.html#comments</comments> <pubDate>Mon, 22 Apr 2013 10:00:21 +0000</pubDate> <dc:creator>Tomasz Nurkiewicz</dc:creator> <category><![CDATA[Scala]]></category><guid isPermaLink="false">http://www.javacodegeeks.com/?p=11399</guid> <description><![CDATA[This is a continuation of Scala traits implementation and interoperability. Part I: Basics. Dreadful diamond problem can be mitigated using Scala traits and a process called linearization. Take the following example: &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; trait Base { def msg = "Base" } trait Foo extends Base { abstract override def [...]]]></description> <wfw:commentRss>http://www.javacodegeeks.com/2013/04/scala-traits-implementation-and-interoperability-part-ii-traits-linearization.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>SiftingAppender: logging different threads to different log files</title><link>http://www.javacodegeeks.com/2013/04/siftingappender-logging-different-threads-to-different-log-files.html</link> <comments>http://www.javacodegeeks.com/2013/04/siftingappender-logging-different-threads-to-different-log-files.html#comments</comments> <pubDate>Mon, 22 Apr 2013 07:00:39 +0000</pubDate> <dc:creator>Tomasz Nurkiewicz</dc:creator> <category><![CDATA[Enterprise Java]]></category> <category><![CDATA[Logback]]></category> <category><![CDATA[Logging]]></category><guid isPermaLink="false">http://www.javacodegeeks.com/?p=11298</guid> <description><![CDATA[One novel feature of Logback is SiftingAppender (JavaDoc). In short it&#8217;s a proxy appender that creates one child appender per each unique value of a given runtime property. Typically this property is taken from MDC. Here is an example based on the official documentation linked above: &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#60;?xml version="1.0" [...]]]></description> <wfw:commentRss>http://www.javacodegeeks.com/2013/04/siftingappender-logging-different-threads-to-different-log-files.html/feed</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>WatchService combined with Akka actors</title><link>http://www.javacodegeeks.com/2013/04/watchservice-combined-with-akka-actors.html</link> <comments>http://www.javacodegeeks.com/2013/04/watchservice-combined-with-akka-actors.html#comments</comments> <pubDate>Mon, 15 Apr 2013 16:00:51 +0000</pubDate> <dc:creator>Tomasz Nurkiewicz</dc:creator> <category><![CDATA[Scala]]></category> <category><![CDATA[Akka]]></category><guid isPermaLink="false">http://www.javacodegeeks.com/?p=11241</guid> <description><![CDATA[WatchService is a handy class that can notify you about any file system changes (create/update/delete of file) in a given set of directories. It is described nicely in the official documentation so I won&#8217;t write another introduction tutorial. Instead we will try to combine it with Akka to provide fully asynchronous, non-blocking file system changes [...]]]></description> <wfw:commentRss>http://www.javacodegeeks.com/2013/04/watchservice-combined-with-akka-actors.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Synchronizing transactions with asynchronous events in Spring</title><link>http://www.javacodegeeks.com/2013/04/synchronizing-transactions-with-asynchronous-events-in-spring.html</link> <comments>http://www.javacodegeeks.com/2013/04/synchronizing-transactions-with-asynchronous-events-in-spring.html#comments</comments> <pubDate>Mon, 08 Apr 2013 13:00:55 +0000</pubDate> <dc:creator>Tomasz Nurkiewicz</dc:creator> <category><![CDATA[Scala]]></category> <category><![CDATA[Spring]]></category><guid isPermaLink="false">http://www.javacodegeeks.com/?p=10962</guid> <description><![CDATA[Today as an example we will take a very simple scenario: placing an order stores it and sends an e-mail about that order: &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; @Service class OrderService @Autowired() (orderDao: OrderDao, mailNotifier: OrderMailNotifier) { @Transactional def placeOrder(order: Order) { orderDao save order mailNotifier sendMail order } } So [...]]]></description> <wfw:commentRss>http://www.javacodegeeks.com/2013/04/synchronizing-transactions-with-asynchronous-events-in-spring.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Scala traits implementation and interoperability. Part I: Basics</title><link>http://www.javacodegeeks.com/2013/04/scala-traits-implementation-and-interoperability-part-i-basics.html</link> <comments>http://www.javacodegeeks.com/2013/04/scala-traits-implementation-and-interoperability-part-i-basics.html#comments</comments> <pubDate>Fri, 05 Apr 2013 16:00:23 +0000</pubDate> <dc:creator>Tomasz Nurkiewicz</dc:creator> <category><![CDATA[Scala]]></category><guid isPermaLink="false">http://www.javacodegeeks.com/?p=10760</guid> <description><![CDATA[Traits in Scala are similar to interfaces, but much more powerful. They allow implementations of some of the methods, fields, stacking, etc. But have you ever wondered how are they implemented on top of JVM? How is it possible to extend multiple traits and where the implementations go to? In this article, based on my [...]]]></description> <wfw:commentRss>http://www.javacodegeeks.com/2013/04/scala-traits-implementation-and-interoperability-part-i-basics.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>FitNesse your ScalaTest with custom Scala DSL</title><link>http://www.javacodegeeks.com/2013/04/fitnesse-your-scalatest-with-custom-scala-dsl.html</link> <comments>http://www.javacodegeeks.com/2013/04/fitnesse-your-scalatest-with-custom-scala-dsl.html#comments</comments> <pubDate>Mon, 01 Apr 2013 19:00:41 +0000</pubDate> <dc:creator>Tomasz Nurkiewicz</dc:creator> <category><![CDATA[Scala]]></category> <category><![CDATA[DSL]]></category> <category><![CDATA[FitNesse]]></category> <category><![CDATA[ScalaTest]]></category><guid isPermaLink="false">http://www.javacodegeeks.com/?p=10618</guid> <description><![CDATA[This article won&#8217;t be about FitNesse. As matter of fact I don&#8217;t like this tool very much and it seems to be loosing momentum, judging by the traffic on an official mailing list. Instead we will implement trivial internal DSL on top of Scala to simplify testing code, inspired by DoFixture. DoFixture in FitNesse allows [...]]]></description> <wfw:commentRss>http://www.javacodegeeks.com/2013/04/fitnesse-your-scalatest-with-custom-scala-dsl.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 2/4 queries in 0.001 seconds using apc
Object Caching 1121/1122 objects using apc
Content Delivery Network via cdn.javacodegeeks.com

Served from: www.javacodegeeks.com @ 2013-05-19 00:18:58 -->