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
I've been blessed with the opportunity to speak about JSF 2.2 at JavaZone and JavaOne. Just before both events I'm doing a full day JSF 2.2 class. This blog entry advertises both classes.
JSF 2.2 Class in Mannheim, Germany Monday 2013-09-09
Thanks to Papick Taboada, I partnered with OIO to present a full day JSF 2.2 class at their facility in Mannheim, Germany on Monday 2013-09-09. Here is the...
on Aug 28, 2013
While parts of the cloud IT that are still being hyped are changing rapidly, the whole segment is not past the hype yet. The cloud report  that Gartner published 9 months ago still holds true today.
Reports of disillusioned customers of such solutions  are a clear sign that the hype might have reached its peak for most parts of cloud offerings, though. And while many articles discuss the...
on Mar 30, 2014
This entry lists Ed’s picks for the brand new JavaLand conference. Many of the talks are in German, but there is enough English to make it worth your time. It looks like there is a lot more English content in day two. Also, the conference was endorsed by java.net editor Kevin Farnham in his blog post from Saturday, 1 March 2014.
Monday 25 March 2014
Welcome and Keynote, Fried Saacke,...
on Mar 3, 2014
I presented this demo at DevNexus 2014 in Atlanta today. It is Reza's demo with just a pinch more Java EE thrown in. This blog entry covers how to fully internationalize an AngularJS application with just a pinch of Java EE.
Reza hosts the code for this demo on his github. The demo has a chat client and a todo list. This blog entry only looks at the chat client, and assumes basic familiarity...
on Feb 25, 2014
This blog entry describes an unsupported process for overwriting the version of Mojarra that comes bundled in WLS 12.1.2 and beyond with an arbitrary version (from groupId org.glassfish artifactId javax.faces). Sometimes it is necessary to upgrade the version of Mojarra that comes bundled in WebLogic Server with a different version, either newer or older. One such usage: the Mojarra team at...
on Feb 14, 2014
I’ve been talking about JSF 2.2 new features out on the conference trail for quite a while now. I usually talk about the big three: Flows, Resource Library Contracts, and HTML5 Friendly Markup. This blog entry talks about another, mostly behind-the-scenes, feature: ClientWindow. I introduce the concept of ClientWindow and give a simple example illustrating one solution to a common web...
on Oct 7, 2013
Apache Thrift’s Role in Distributed Applications
By Randy Abernethy, authors of The Programmer's Guide to Apache Thrift
Apache Thrift helps programmers build high performance cross-language services to address the growing need for multilanguage integration. In this article, based on chapter 1 of The Programmer’s Guide to Apache Thrift, author Randy...
on Aug 1, 2013
by Samuel M. Breed, author of Backbone.js in Action
on Jun 6, 2013
Web Services and XML
It actually happened a few weeks ago already, but I simply didn't find the time to spread the word earlier -- just too much other stuff to do (see end of posting), so I tell you now: WebDAV Support for JAX-RS 1.2 is out!
What has happened since 1.1?
First of all, 1.2 is a complete internal overhaul, which not only finally is covered with unit tests rather completely (which revealed several...
on Mar 1, 2014
Lets start with a small quiz: Can you find 3 differences in the pictures below?
Yeah, you got it. That was an easy one. :)
Surprisingly, implementing preview for extra asset types has been relatively simple as well. When coming up with the architecture of DAM, the Magnolia team chose to not generate previews and thumbnails of assets directly in the module, but rather delegate this functionality...
on Dec 31, 2013
Java API for WebSocket is a new JSR to Java EE 7. It provides a stardard Java API for creating WebSocket applications. This gives web applications the ability to push data.
In Java EE 6 samples, we added a chat room sample to illustrate how to use of Servlet 3.0 asynchronous operation. In that sample, the servlet code did the following:
keep track of AsyncContext in a Queue
create a thread to...
on Aug 13, 2013
I was very pleased to see the JFrog team take me up on my suggestion early this year that "Maybe the JFrog team will consider giving a presentation on how they put all this together at JavaOne this September". Unfortunately for me, the session (Building a Massively Scalable Cloud Service from the Ground Up) was already filled to capacity as I walked up to the door, so I was unable to attend....
on Dec 8, 2013
Recently I have come upon a blog article which discussed why Swing has to be Deprecated. My understanding of the author's argument was that since Swing looks ugly compared to HTML5 and nobody uses Swing anymore that it should be deprecated in favor of JavaFX. The theory was that by deprecating Swing and forcing users to upgrade to JavaFX then all Java GUIs will be better with the...
on Dec 2, 2013
Note this blog is obsolete, see https://www.manorrock.com/blog/ for the current blog
If you are having a problem with your JPA queries and you are trying to understand what SQL queries it actually sends below the covers you can configure the JPA runtime to show the actual SQL statements it sends over. How? Well for EclipseLink you would add the following to your persistence.xml file.
on Oct 27, 2013
A while ago, I was asked to evaluate another Java application that was being used at my company.
It was a point-of-sale app, developed entirely "in-house" by one of our overseas affiliates.
I wondered what their MVC model would look like.
How different would their Java app be from the ones I have worked on?
I started my evaluation by learning all I could about the architecture and design of this...
on Sep 8, 2013
javax.servlet.http.HttpSession provides a way to identify an user across multiple HTTP requests and to store user specified information. In other words, it provides a support of stateful communications with the stateless HTTP protocol.
For security and memory management, sessions need to be invalidated at a certain time. There are two related methods in HttpSession.
on Aug 29, 2013
JSR 356: Java API for WebSocket provides a standard Java API for creating WebSocket Applications. The specification provides an API for...
on Aug 7, 2013
Expression Language (EL) was first introduced as part of JSTL 1.0, was then moved JSP 2.0 and was unified with JSF 1.2 in JSP 2.1. In Java EE 7, EL is a new separate JSR, JSR 341. Many new features are introduced in EL 3.0.
This blog shows how to use new following new features of EL 3.0:
Lambda expression (section 1.20 of EL 3.0 spec)
The new operator ; to separate...
on Jul 1, 2013
Asynchronous operation was introduced in Servlet 3.0. ServletRequest#startAsync is used to put the request into asynchronous mode. A thread need to be created implicitly or explicitly (see here for an example).
Servlet 3.1, JSR 340 includes clarifications in asynchronous area. Besides Servlet 3,1, Concurreny Utilities for Java EE 1.0, JSR 236 is introduced in Java EE 7. JSR 236 provides a...
on Jun 6, 2013