JDK 8 introduced a lot of new features and improvements in the platform from Lamda expressions, Stream collection types,
Functional interfaces, Type annotations, Nashorn etc.
Guava library from Google provided some support for functional programming idioms prior to JDK 8.
I have been using Guava for some of my projects. So here is a small write up on
how new functionality added in JDK 8 makes it...
on Jul 14, 2014
The lambdas are without any doubt one of the most intriguing and attractive features in Java8, but sometimes instead of helping us writting a better and boilerplateless code, they can get us into trouble. And still, they are the better alternative to the anonymous classes for lots of reasons.
The anonymous classes were a nice way to achieve clojures in Java, but it was something natural to...
on Jun 19, 2014
Runtime type information (RTTI) refers to the correct identification of the type of your objects at run time. When you write code, it is generally desirable to do so in a way that takes advantage of OOP features like encapsulation and inheritance to make your program easily extensible, by for instance, as much as possible manipulating references to base classes and letting polymorphism work for...
on Apr 21, 2014
Java EE 7 platform added a few new specifications to the platform:
Java API for WebSocket 1.0
Batch Applications for Java 1.0
Java API for JSON Processing 1.0
Concurrency Utilities for Java EE 1.0
This is highlighted in the pancake diagram shown below:
Several of the existing specifications were updated to fill the gaps and provide a more cohesive platform. Some small, but rather significant...
on Jul 10, 2014
When I started my career around 10 years ago, Struts MVC is the norm in the market. However, over the years, I observed the Spring MVC slowly gaining popularity. This is not a surprise to me, given the seamless integration of Spring MVC with Spring container and the flexibility and extensibility that it offers.
From my journey with Spring so far, I usually saw people making some common mistakes...
on Jul 5, 2014
There is a Maven archetype to create Java EE 7 application:
mvn --batch-mode -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=webapp-javaee7 -DgroupId=org.javaee7.sample -DartifactId=javaee7-sample -Dpackage=org.javaee7.sample archetype:generate
It generates a simple "pom.xml" with Java EE 7 API <dependency>. It does the job to get started with building the application...
on Jul 1, 2014
Recently, we were tasked to develop a SAAS application for big data analysis. To do data mining, the system need to store multi billion public posts in the database and run the classification process on them.
Classification in our context is a slow, resource intensive and painful process to assign a topic or sentiment to any record in the database. The process can last up to 24 hours with our...
on May 20, 2014
Did you know that events where JBoss technologies are presented are listed in a calendar ?
Are you talking at an event about JBoss technology and its not listed here ? Do you know of any event where JBoss technologies are talked about and not listed in this calendar ? Send us a request by filling this form.
Subscribe to this calendar using any of the following links:
Here is a sampling of...
on Apr 30, 2014
This year, more more apache based company, I mean that a company that repackage, retest or make a bundle of Apache product, selling product in Indonesia.
And as we know, the ecosystem, like tech guy, expert in our region Asia Pasific, i never see.. but pre-sales and salesman, and industry leader, all over the country.
I make a small theory about this, because most of their product are based on...
on Jul 9, 2014
Unlock productivity is one of the bigger concerns for any person taking management role. However, people rarely agree on the best approaches to improve performance. Over the years, I have observed different managers using the opposite practices to churn out best performance of the team they are managing. Unfortunately, some works and other don't. To be more accurate, what does not increase...
on Jun 18, 2014
Recently, there is a heaty debate regarding TDD which started by DHH when he claimed that TDD is dead.
This ongoing debate managed to capture the attention of developers world, including us.
Some mini debates have happened in our office regarding the right practices to do testing.
In this article, I will represent my own view.
How many kinds of tests have you seen?
From the time I joined industry...
on May 28, 2014
Using the Java 8 Date Time Classes with JPA!
With the Java 8 SE release, developers get a splendid new best-in-class Date-Time API. Wouldn't it be nice if you could use it with JPA? Not so fast. JPA and for that matter JDBC know nothing about the new classes, and if you use them in your entities, JPA will map them to BLOBs in your database by default. This happens in DDL or database creation, in...
on Jun 17, 2014
Have you recently checked out your company’s web presence and thought to yourself that it was in dire need of an update? But then maybe you started imagining the pain of pushing new data there, and resigned at the mountain of work ahead. Or maybe your mind turned to even more pressing problems with the site - maybe it doesn’t render correctly on mobile, or no updates get pushed into social media...
on Jun 5, 2014
Tech Tip #25 showed how to configure WildFly on Raspberry Pi. Tech Tip #27 showed how to setup WildFly on two Raspberry Pis in managed domain mode. This tech tip will show how to setup a WildFly cluster over those two hosts.
WildFly supports mod_cluster out of the box. There are several advantages of mod_cluster:
Dynamic configuration of httpd workers
Server-side load balance factor calculation...
on May 30, 2014
Tech Tip #25 showed how to configure WildFly on Raspberry Pi. This tech tip will show how to setup a WildFly managed domain over two hosts running on Raspberry Pi.
Lets understand some basic concepts first.
WildFly can run in two modes:
Managed Domain allows you to run and manage a multi-server domain topology
Standalone allows to run a single instance of server
Multiple standalone instances...
on May 30, 2014
JBoss Forge is the fastest way to build your Java EE applications, and not even tied to a particular IDE or an Application Server. Tech Tip #17 explained how to build a simple Java EE application rapidly, and deploy it on WildFly. JBoss Developer Studio provide a very neat integration with Forge as well. The instructions from the video are also explained in a text-based script here.
on May 7, 2014
[Republishing from http://wildfly.org/news/2014/04/25/Getting-Started-WildFly-OpenShift/]
OpenShift provides an open source hybrid cloud application platform by Red Hat. It enables polyglot applications to be deployed on a public, private, and a hybrid cloud very easily. It provides an extensible cartridge-based architecture that allows a wide range of functionality such as frameworks, databases...
on Apr 30, 2014
40+ Java User Groups from 6 continents have participated in WildFly 8 Launch so far, and a few more are still lined up. This has truly been a global participation so far, and truly reflects the spirit of Java community.
Several of these were delivered virtually primarily using G+ hangout, and then some in person during the travel by WildFly team. Lots of interesting conversations and feedback...
on Apr 29, 2014
On January 2nd I received a New Year's gift, my "Welcome to Oracle Cloud" email. I had requested a 30-day free trial back on October 17, when the Oracle Cloud was first announced, and had basically forgotten all about it. If you haven't already, request a trial account for yourself:
The Oracle Cloud integrates very nicely with Eclipse, NetBeans and JDeveloper, where you can develop and...
on May 29, 2014
Server-Sent Events (SSE) is part of HTML5. SSE is a simple, undirectional communication from server to browser. It allows server to push data to client once a connection is established. The entire point of SSE is to make it easy for the server to push messages to the browser, once the browser has first established a connection to the server. These messages are of the form "field: value" with...
on May 21, 2014