One of the exciting things about teaching is the fact no matter how well you prepare for a class, events will always surprise you.Yesterday I was caught by surprise in the middle of a class by what seemed like a global Glassfish admin console outage.
Automated functional tests are key to ensure the quality of large applications in incremental development processes. In contrast with unit tests where each test is supposed to be independent from the outside environment, functional tests are really integration tests: in order for them to run properly the process must start from a well known state.
I had originally planned to write a blog post per day during JavaOne 2010. That being my first JavaOne I was of course completely unprepared for the hectic routine of sessions, meetings, parties and more sessions. I wrote blog posts in the first two days and disappeared ever since.
There was a lot happening at day 1. The amount of simultaneous activity can be dazzling at times and I felt i needed a good nights rest in order to digest the enormous amount of information fed into my brain yesterday.
It was my first day at JavaOne 2010 today. And what a day!
The kick off for me was the Glassfish community event. The room was packed with Glassfish users and developers. It was nice meeting in person people I have been reading and interacting with online for such a long time.
JavaOne 2010 is going to be my first time on the conference. Even tough I have been developing in Java in the past 12 years I never managed to attend. The fact this is the first JavaOne under Oracle stewardship makes it yet more exciting.
I have been a Java developer since the 1.02 days. It has been a long and fun ride, and in spite of what people said over the years, the Java language and Java platform didn't die and are in fact stronger than ever. But sometimes I wish it would evolve faster.
Btrace is a wonderful tool for debugging complex application problems. I have used it recently to debug a strange finalizer problem in an application running on Glassfish V3. Since getting it to work with v3 wasn't very straightforward, I will share my findings here in case someone else is trying to do the same...
One of the not-so-great things about developing Java web applications is the fact that, after a few redeployments, sooner or later the web container JVM needs to be restarted due to Out Of Memory errors. This has been true in every combination of development environment and web server I have used so far, and until last week Netbeans 6.8 + Glassfish 3.0.1 was no exception.
CDI (Contexts and Dependency Injection for the Java EE platform) is defined in JSR-299 and enhances support for dependency injection in Java EE 6. The more I use CDI the more I like it...However, I couldn't find a simple example of how to configure your application with CDI by reading configuration attributes from a file. Here is an example of how it can be done: