I've just finished tuning a client's application where one of the items on the table was to find the source of calls to System.gc(). Using Censum made easy work of understanding the source of the calls. The team I was working with not only missed that these calls to System.gc() where creating havoc with their end users experience, they didn't even realize that something, some where was messing...
on Jan 27, 2015
Web Development Tools
Bunyan is a NodeJS library that rethinks logging in some really useful ways. I wrote a Java port you can use in your applications.
In particular, with Bunyan, logs are JSON - and Bunyan comes with a great filtering and analysis tool.
The Java port uses some innovative techniques to make logging simple and foolproof - in particular, a use of AutoCloseable to make a logging code simple and...
on Jan 18, 2015
Validating Oracle Java Cloud Service HA
One of my favorite applications from my Sun Java System Application Server days was the Cluster JSP Sample Application. In a cluster configuration fronted by a load balancer, this simple JSP provides a nice summary of which cluster node handled the request as well as the ability to test session failover. Therefore, why not try it on the Oracle Java Cloud...
on Jan 7, 2015
Indonesia has released the domain .id to public with Indonesia ID, and more more website using this domain, the domain is costly around $50/year.
in Another world, with this domain, we can make the domain become an identity portal.
And yes we are the one that using it (http://www.merv.id), and we also release the OAuth Server, take a look https://github.com/meruvian/yama, a 2-in-1 project that...
on Nov 23, 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
A JBoss User Group (JBUG) is a group of people who share a common interest in JBoss technologies. They are organized and supported by the community and meet on a regular basis to discuss new technologies, development methodologies, interesting use cases, and other technical topics. The common goal is to provide education, help, and social events for the community and to promote open source....
on May 28, 2014
This is the third part (part 1, part 2) of a multi-part video series where Lincoln Baxter (@lincolnthree) and I are interactively building a Forge addon to add Java EE 7 Batch functionality.
Part 1 showed how to get started with creating an addon, add relevant POM dependencies, build and install the addon using Forge shell, add a new command batch-new-jobxml, and add --reader, --processor, --...
on May 28, 2014
JBoss EAP (Enterprise Application Platform) is the commercially supported version of community supported JBoss AS 7.x. JBoss EAP 7 is scheduled to be released next year and will provide full compliance with Java EE 7. In the meanwhile, JBoss EAP 6.3 is getting ready to be released later this year.
Download JBoss EAP 6.3 Alpha, or this is also linked from the main downloads page.
A quick summary...
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
Once upon a time, I published one article explaining the principle to build Stateless Session. Coincidentally, we are working on the same task again, but this time, for a multi-tenant application. This time, instead of building the authentication mechanism ourselves, we integrate our solution into Spring Security framework.
This article will explain our approach and implementation.
on Sep 7, 2014
Around 3 months ago, I have posted one article explaining our approach and consideration to build Cloud Application. From this article, I will gradually share our practical design to solve this challenge.
As mentioned before, our final goal is to build a Saas big data analysis application, which will deployed in AWS servers. In order to fulfill this goal, we need to build distributed crawling,...
on Aug 28, 2014
When I started my career as a Java developer close to 10 years ago, the industry is going through a revolutionary change. Spring framework, which was released in 2003, was quickly gaining ground and became a serious challenger to the bulky J2EE platform. Having gone through the transition time, I quickly found myself in favour of Spring framework instead of J2EE platform, even the earlier...
on Jul 14, 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
Why you should write small libraries that do one thing well, over on my real blog at timboudreau.com
A response to Eran Hammer's The Fallacy of Tiny Modules.
on Aug 24, 2014
Redis is a NOSQL database written in C. The Remote Dictionary Server is a key-value data base whose the storage is in memory, then the write and read will fastest way, but which difference between Redis and Cache? What does happen when the database fall down? Will we lost the all informations?
The main goal of this article is talk about the Redis and show an open source project, the redis-...
on Aug 1, 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
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
We've been using TDD for Mojarra for nearly a decade now and after all that time, we have decent number of tests. For historical reasons these tests mostly use GlassFish, but we are naturally migrating them to use WebLogic Server. As part of that work, I had to learn how to set up a simple cluster in WebLogic Server 12.1.2 to validate the fix for this bug that prevents @ViewScoped beans from...
on Apr 25, 2014