Friday, April 18, 2008

I love you OC4J

Recently our team found out that our deployment environment would use Oracle's OC4J App Server. So, after getting it up and going, I finally started working with it locally; deploying and testing our application.

One of the rest services in our application was returning a 500 response code. To investigate, I navigated to this WAR's application log for a look. I couldn't believe what I found....

The 500 was a result of an everyday NoClassDefFoundError. What blew me away was what OC4J had put in the log. Check it out...

08/04/18 13:41:16.484 Started
08/04/18 13:41:16.828 safxc-test: Started
08/04/18 13:50:43.546 safxc-test: Servlet error

Missing class: javax.xml.bind.annotation.XmlRootElement

Dependent class:
Loader: safxc-test.web.safxc-test:0.0.0
Code-Source: /C:/JEE/AppServers/oc4j/j2ee/home/applications/safxc-test/safxc-test/WEB-INF/lib/restbeans-impl-R2.jar
Configuration: WEB-INF/lib/ directory in C:\JEE\AppServers\oc4j\j2ee\home\applications\safxc-test\safxc-test\WEB-INF\lib

The missing class is available from the following locations:

1. Code-Source: /C:/JEE/AppServers/oc4j/j2ee/home/applications/safxc/safxc/WEB-INF/lib/jaxb-api-2.0.jar (from WEB-INF/lib/ directory in C:\JEE\AppServers\oc4j\j2ee\home\applications\safxc\safxc\WEB-INF\lib)
This code-source is available in loader safxc.web.safxc:0.0.0.

2. Code-Source: /C:/JEE/AppServers/oc4j/j2ee/home/applications/dashboard/dashboard/WEB-INF/lib/jaxb-api-2.0.jar (from WEB-INF/lib/ directory in C:\JEE\AppServers\oc4j\j2ee\home\applications\dashboard\dashboard\WEB-INF\lib)
This code-source is available in loader dashboard.web.dashboard:0.0.0.

3. Code-Source: /C:/JEE/AppServers/oc4j/j2ee/home/applications/cop/cop/WEB-INF/lib/jaxb-api-2.0.jar (from WEB-INF/lib/ directory in C:\JEE\AppServers\oc4j\j2ee\home\applications\cop\cop\WEB-INF\lib)
This code-source is available in loader cop.web.cop:0.0.0.

4. Code-Source: /C:/JEE/AppServers/oc4j/j2ee/home/applications/resource-discovery-widget-service/resource-discovery-widget-service/WEB-INF/lib/jaxb-api-2.0.jar (from WEB-INF/lib/ directory in C:\JEE\AppServers\oc4j\j2ee\home\applications\resource-discovery-widget-service\resource-discovery-widget-service\WEB-INF\lib)
This code-source is available in loader resource-discovery-widget-service.web.resource-discovery-widget-service:0.0.0.


That's right! Unreal! In some beautiful, very readable output, it ...

  1. Tells you the exact class that is missing (outside of the stack trace)

  2. Tells you the dependent class

  3. Tells you what artifact contains the dependent class

  4. Tells you where you can go find the missing class !!!!

If I haven't said it already ... this is awesome. I can't wait to see what else is in store for me.

Tuesday, April 15, 2008

Review: Head First HTML with CSS & XHTML

Head First HTML with CSS & XHTML

Topics (pretty obvious):

  • HTML
  • CSS


This book teaches the reader everything he/she needs to know to get up and going with HTML and CSS. Throughout the book you build up a website for a coffee shop. Each chapter improves the site just a little through new things being taught to the reader. You'll learn everything from HTML history to HTML standards; from the most common HTML elements to the box model; from simple CSS rules to complex selectors and visual effects. A reader of this book can go from Zero web development knowledge to the ability to quickly create simple, yet functional web sites.


Anyone interested in learning web site development essentials.


  • The reader doesn't have to be a developer to understand the book.

  • The reader gets to see a web site progress using the new skills he/she learns throughout the book.

  • As with any Head First book, there is plenty of humor to keep the reader interested.
  • Suggestions on where to go after reading this book. (This is an invaluable part of every Head First book in my opinion)

Cons:     ???


No matter what your background is, if you're looking to learn the essentials of web development this is the book. And as it goes for every Head First book I've read, you'll be entertained and enjoy the book from cover to cover. If you're looking to get into web development, this book is a must.

What you get for Over-Working your Product Owner

  1. No Roadmap (at least nothing outside of the PO's brain, or not until the week before it gets delivered to your client)

  2. A backlog being prioritized/updated as you walk into/during your backlog selection meeting

  3. Stories that smell of implementation and architecture (why developers aren't good product owners)

  4. Realization after 2-3 sprints that your Scrum Master owns the backlog

  5. An over-worked Scrum Master