Wednesday Jul 01, 2015

Java 8 Lambdas and Streams Online Training

Want to sharpen your functional programming skills and solve a programming problem with lambdas and streams? In the next Virtual Technology Summit, you will learn how lambdas and streams can be used to solve a Scrabble game problem. With the Scrabble dictionary, the list of the words used by Shakespeare, and the Stream API in hand you will find out the three best words Shakespeare could have played.

VTS is free! You just need to register and choose an event in your time zone:

Americas - July 14th - 9am to 12:30 PST - Register
EMEA - July 15th - 9am to 12:30pm BST - Register
APAC - July 23rd - 3pm to 6:30pm AU/SYD - Register


At the last VTS, Simon Ritter presented “how to think functional with JDK 8”. He described the functional style in detail. Watch the replay and get ready to solve the Scrabble problem!

Tuesday Jun 30, 2015

JavaOne Latin America Highlights

Well-attended by developers, JavaOne Latin America took place last week in São Paulo Brazil.  Amongst the myriad sessions, meetings, entertainment and parties, here are some highlights. 

The community keynote was themed with 20 years of Java and organized by two Java Champions Fabiane Nardon and Bruno Souza. They chronicled the deep involvement of the Brazilian community throughout the history of Java. Bruno Souza, a.k.a JavaMan, founded the Brazilian Java user group SouJava in 1999. Juggy, the Java Finch mascot, was born in 2004.   Fabiane Narbon with her team won the Duke’s Choice Award for Healthcare Information System in 2005. SouJava became the first Java user group member on the JCP executive committee in 2011. 

NightHacking interviews took central stage at the Java Hub. The interviews are being rolled out during the next two weeks. Now available are interviews about Java TV with Bruno Gualda and Thiago Silva, Java and IoT with Vinicius Senger, Java Embedded with Leonardo Lima and Java IoT Cloud with Marco Maciel 

The strategy keynote was packed to hear Vice President of Java SE Platform Georges Saab discuss Java 9 modularity. He encouraged developers to download and test the pre-release builds. “JUGs around the world have helped shape the future of Java EE by participating in the JCP and the Adopt-a-JSR program” explained Senior Director of Software Development Robert Clark. 

Tuesday Jun 23, 2015

Asynchronous Processing

In this interview, Tomasz Nurkiewicz discusses asynchronous processing topics including CompletableFuture, parallelStream(), actors, agents, software transactional memory, Groovy GPars, shared distributed memory, RPC leaky abstraction, and debugging and monitoring asynchronous code. 

Tomasz is a developer who has been programming in Java for the last 8 years in the financial sector. He loves back-end, and passionate about alternative JVM languages.  He is interested in charting, data analysis and reporting. He is DZone’s Most Valuable Blogger (  and used to be very active on StackOverflow.

Sunday Jun 21, 2015

NightHacking at JavaOne Brazil

Watch the interviews live on the NightHacking home page from Tuesday to Thursday during JavaOne next week:

Nighthacking interviews will take place at Java Hub in the exhibit hall of JavaOne and Oracle OpenWorld at the Transamerica Expo Center in São Paulo, Brazil  

Here is the full interview schedule (all times in São Paulo, Brazil Time          or -3 hours UTC) 

Thursday Jun 18, 2015

Hot Java Topics at the VTS!

In its 20th year, Java is used by over 9 million developers working in every major industry. In the next Virtual Technology Summit, you will learn how to program a parallel application with Java 8 lambdas, build a robot with 3D printed parts and use Docker, a best-in-class platform to test and manage releases. VTS is a series of interactive online events with hands-on sessions and presenters answering technical questions. The events are sponsored by the Oracle Technology Network (OTN). They are free events but you must register. Join the next exclusive events close to you  

Americas - July 14th - 9am to 12:30 PST - Register
EMEA - July 15th - 9am to 12:30pm BST - Register
APAC - July 23rd - 3pm to 6:30pm AU/SYD - Register

The three sessions are: 
  • Docker for Java Developers with Roland Huss 
Docker, the OS-level virtualisation platform, takes the IT world by storm. In this session, we will see what features Docker has for us Java developers. It is now possible to create truly isolated, self-contained and robust integration tests in which external dependencies are realised as Docker containers. Docker also changes the way we ship applications in that we are not only deploying application artifacts like WARs or EARs but also their execution contexts. Beside elaborating on these concepts and more, this presentation will focus on how Docker can best be integrated into the Java build process by introducing a dedicated Docker Maven plugin which is shown in a live demo.
  • Pi on Wheels,  Make Your Own Robot with Michael Hoffer 
The Pi on Wheels is an affordable open source DIY robot that is ideal for learning Java-related technologies in the context of the Internet of Things. In this session we will talk about how 3D printing works and how it can be utilized to build robots. The most fascinating aspect of 3D printing is that is is astonishingly easy to customize the robot. It allows you to build something completely new and different. We provide a Java based IDE that allows you to control and program the robot. In addition to that it can be used to programmatically design 3D geometries.

  • Shakespeare Plays Scrabble with Jose Paumard

This session will show how lambdas and Streams can be used to solve a toy problem based on Scrabble. We are going to solve this problem with the Scrabble dictionary, the list of the words used by Shakespeare, and the Stream API. The three main steps shown will be the mapping, filtering and reduction. The mapping step converts a stream of a given type into a stream of another type.Then the filtering step is used to sort out the words not allowed by the Scrabble dictionary. Finally, the reduction can be as simple as computing a max over a given stream, but can also be used to compute more complex structures. We will use these tools to extract the three best words Shakespeare could have played.

Tuesday Jun 16, 2015

Create Test Logs Like Javadocs

In a new article, Madhu Seelam and Raghunandan Seshadri describe how to build a test framework that ensures logs from test classes and TestNG listeners that are executed in parallel reach the appropriate log file and are organized in a format similar to that of Javadocs.

TestNG is a popular open source test automation framework that provides support for parallel test execution. Java Logging APIs can ensure thread-safe logging from numerous threads and logging within test cases, as well as callback functions within listeners. However, when tests are executed in parallel, the logs from various test cases are interleaved, which makes it difficult to isolate the logs for a given test case.

Using the solution described in this article, all logs from a given TestNG test class reside in one HTML file, and HTML files can be linked into a format similar to that of Javadocs. This enables you to select a package and select the corresponding class to view the logs related to just that test class, even when the tests have been executed in parallel. Read the article

The Ghosts of Java EE 7 in Production: Past, Present and Future

By Guest Blogger Reza Rahman from Original Blog

  "First they ignore you, then they laugh at you, then they fight you, then you win."

                                                                                                                 – Mahatma Gandhi

For those unfamiliar the three ghosts analogy comes from the Charles Dickens' classic A Christmas Carol. I hope the real message of the analogy is an entertaining but insightful literary puzzle for you to figure out, not to mention the far less imaginative opening quote largely along the same lines :-).

In the past few days I've seen a certain predictable group of folks on the Interwebs feigning concerns over the viability of using Java EE 7 in production. I have to be honest in that I think it is fairly obvious these concerns are more -ahem- opportunistic than sincere or well-intentioned. Nevertheless I think this is a great trigger to discuss something valuable to the Java EE community anyway - Java EE 7 production adoption in the near past, present and near future. In fact to be perfectly honest we have been deliberately covering these themes all along in various ways and foresee a useful purpose in revisiting them frequently going forward far beyond this one blog entry. Being responsible sentinels for the Java EE community has never demanded anything less.

The Prelude - Java EE 6 vs Java EE 7
Most folks out there seem to hold the Java EE 6 release in high regard. I definitely agree the release was an important turning point for Java EE. While Java EE 7 is not a profound architectural paradigm shift in the way Java EE 5 and Java EE 6 was, it's significance is in the sheer amount of changes it contains. Java EE 7 is very easily the largest set of changes the platform has ever experienced. To boot we try to never make frivolous changes to the platform so each of these changes are all rather important to their respective users. To understand the scale and significance of these changes, you need not look much farther than my Java EE 7 slide deck. It is a very high level talk that I still struggle to fully deliver in 50-60 minutes after delivering it many times.

[Read More]

Wednesday Jun 10, 2015

NightHacking Interviews at GeekOUT

I will be doing some NightHacking interviews at the super-technical (and sold-out) GeekOUT Java conference in Talinn, Estonia.

Watch the interviews live on the NightHacking home page on Thursday and Friday of this week:

Here is the full interview schedule (all times in Eastern European Time [EET] or +3 hours UTC) 

Thursday (June 11th) Friday (June 12th)
10:30-11:30 20 Years of Java Panel featuring Konrad Malawski, Markus Eisele, Andres Almiray, Sven Peters, and Ed Burns

12:30-1:30 EET

Charles Nutter - As Fast as C Ed Burns - Servlet 4.0
2:30-3:00 Nitsin Wakart - Lock Free Queues
4:00-4:30 Tomasz Nurkiewicz - Aynchronous Processing

The recorded videos will be uploaded immediately after the event on the NightHacking GeekOUT Video Archive.

Monday Jun 08, 2015

Java EE 8 Roadmap Update

By Guest Blogger: John Clingan from original post

Java EE 8 was formally launched in September 2014 with the JCP’s unanimous approval of JSR 366 and our announcements at JavaOne.  At JavaOne 2014 we presented a summary of our areas of investigation for Java EE 8 during the Strategy Keynote, followed by numerous in-depth presentations on our intended work by the specification leads.  The goal that we set for ourselves then was to complete this work by JavaOne San Francisco 2016.

Although we all like to do (and hear) big things at JavaOne, the various latencies involved in launching expert groups as well as the other demands on the time of our spec leads has resulted in the date being pushed out a bit. We are strongly committed to transparency in our work on the Java EE Platform.  We are therefore publicly announcing that we are now changing our target time frame for the completion of this work to the first half of 2017.  We will be updating the target dates for the JSRs under the Java EE umbrella to reflect this change.

As a result of this shift, there is now more time and opportunity for YOU to get involved.  For example, the MVC  1.0 JSR has published their Early Draft Review, and the Java EE Security JSR will soon follow. We continue to encourage developers to track JSRs and provide feedback by viewing the individual JSR mailing lists, wikis, and download and try out early Java EE 8 reference implementation builds.  We've already seen a lot of interest not only in Java EE 8 features, but also in participation.  Many JUGs have been involved in adopting Java EE 8 and related JSRs, including the CJUGMorocco JUG, and a host of others.  Companies and individuals can get involved as well. For example, Serli, with a host of expertise in Java development, have contributed Application Versioning to GlassFish in the past, and are now signing up to contribute to the MVC reference implementation.

Start here and help define the future of Java EE! 

Professional Highlight: Amr Gawash, Oracle Certified Professional. Java SE 7 Programmer

Why did you choose to pursue Java Certification?

I work in a company that encourages employees to pursue and achieve their dreams. One of my personal dreams was to be certified in Java. Even though I had been working with Java for more than five years, I never had time to take the Java Certification exam. After my company encouraged me, I started to prepare myself to get the Java certification, and I did.

How has Java Certification changed your career?

My career changed the moment I stepped out of the exam. I realized how powerful a certification can be, how the community appreciated my contribution more, and of course how it made a difference to people looking at my resume. I also noticed how it increased my self esteem. Holding a Java certification also increased my sense of responsibility toward the Java community. I've started to become more active in Oracle forums and other QA websites. I contribute more to the community now and I also engage with local Java groups in my city.

What is one of the most important benefits of gaining a Java Certification?

I believe the most important benefit of earning a Java certification is the networking and community benefits you get when you are a certified in Java. Being certified has helped me get closer to, and make a positive impact on the Java community. Networking with other members of the community has become much easier and my engagement and responsibility towards the community have also been boosted.

Amr Gawish is passionate about technology and always tries to push the limits of the technologies he uses.

Amr completed his Bachelor's degree in Math and Computer Sciences from Al-Azhar University in Egypt and is currently pursuing his Master's degree at the University of Liverpool. He is employed as an Oracle Fusion Middleware consultant and is certified in Java SE 7, Oracle ADF, WebCenter Portal, and Oracle SOA Suite. 

Having more than six years experience in these products as well as the full Oracle Middleware stack, Amr has also gained experience in various other topics such as Gamification, Scala programming, and Akka. He is working on microcontroller programming with Raspberry Pi and Arduino and robotics.

You can learn more about him by visiting his website,, or follow him on Twitter (@agawish) or read his book (Oracle ADF Faces cookbook).


Insider News from the Java Team at Oracle!



« July 2015