JPA comes with a way of doing triggers, which is pretty cool: EntityListeners. It is a simple POJO that is annotated as EntityListener, and that gets linked to the triggering event by some outside glue. That outside glue can be an XML deployment descriptor (has nothing to do with the EJB 2.1 XML deployment descriptor; is nothing else but an override to the annotations found in the Java source...
One of the many cool new features in Java EE 6, is support for the DataSourceDefinition annotation.
The DataSourceDefinition annotation provides a way to define a DataSource and register it with JNDI. The annotation provided annotation elements for the commonly used DataSource properties. Additional standard and vendor specific properties may also be specified.
So let us look at an example:
An idea for a project: a JSF memcached range component.
Several APIs demand that the user is implementing the .hashCode() method. There are lots of standard implementations on the web, so the question is, what performance impact the implemenation of .hashCode() will have. I did some tests...
My last post was about introduction of continuation is the Java VM,
This one is about how to use continuation to easily implement service on top of
a non blocking IO server.
After configuring Hudson to run in a Glassfish with security manager enabled I started to have problems in other applications, specially web applications using reflection to access private fields in Java classes. Over the web I noticed a lot of people struggling with the same issue (Seam, GWT, Vaadin, etc). The problem is caused because most of the modern frameworks tries to access Java...
For the purpose of implementing a SSO (Single Sign On) system into our application, I investigated the use of spring-security and successfully implemented it using NTLM and Crowd.
As I happily wrote about new features of JSF 2.0, my coauthor David Geary kept asking me how to run the examples in Tomcat 6. I kept putting it off—hunting down those JAR files and web.xml fragments is like eating soup with a fork. I finally got around to doing the research and thought that others might benefit from the (unhappy) results, if only to realize that this may be the time for switching to GlassFish.
Quick post as an update to my last entry on Web applications and SailFin CAFE
Overload protection feature has been part of earlier releases of SailFin, lets start by describing the what can be improved in the current implementation.
The algorithm (in the earlier releases) for detecting an overload was based on the fact that if a certain number of continuous samples remain above the configured threshold then the system is overloaded. This was a simple and...
In November, Servlet 3.0
Specification Lead Rajiv Mordani, and I started providing technical
advice to the team at Sun developing the successor to the Sun
Certified Web Component (SCWD) certification exam. This new exam
covers Java EE 6, including JSF 2. All this week, the work will
continue in the form of an offsite workshop at the
To help ensure the highest quality exam possible (and...
As it seems, Marc and Paul (the leaders of JAX-RS / Jersey) really have understood what OpenSource really means: Communicate with the community, understand their needs and thoughts, accept their ideas. I would wish that more project leaders would assimilate this open mind and welcoming kind of leadership.
I authored a refcard about GlassFish v3 recently which covers GlassFish v3 new features. You can download the refcard freely and use it to learn version 3 features and capabilities.
My thought on GlassFish v3 release. GlassFish v3 is the the first application server supporting Java EE 6. You can find several useful links to related resources and events.
NetBeans 6.8 released with tons of new features and full support for Java EE 6.
This entry tries to provide a basic comparison for state of different Open Source Java EE application server and Servlet container. By reading the article you will understand general strength of different application server along with their possible shortages.
This blog has moved here
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
var pageTracker = _gat._getTracker("UA-3111670-3");
Here is another demo/example that shows using Google Translate API for translating the text messages between two SIP clients.
So far I have described how create server applications that handle cal, conference and IM. This edition take a look at how to add communication capabilities to web applications in a (very) simple way.