What I’m looking forward to at SpringOne Platform

The biggest cloud native conference is coming up at the first week of August, SpringOne Platform. To plan out my time I took at look at the sessions. Here’s what I’m looking forward to and what I think you, dear readers, will find interesting as well. Doing a list like this, of course, ends up excluding some awesome sessions, so be sure to check out the talk list yourself as well.

Also, if you’re interested and haven’t registered yet, be sure to use the code pivotal-cote-300 to get $300 off.

Dealing with legacy

Almost every conversation I have with large organizations involves a discussion about dealing with legacy software. While you may not be running JFK era IT, you probably have to deal with legacy. Here’s some sessions on that topic:

Cloud Native Coding

Moving to The New, New Thing requires different ways of architecting and coding your software. Here’s some sessions that go over those new ways:

Case Studies

While cooked up demos of Pet Stores and Breweries are education, I’m most interested in hearing tales of what’s actually happened out in the world. Here are some of the case studies that look interesting:

The Usual Chuckle-heads

And, to highlight talks from my team:

(And, remember: if you want to come, you can get $300 if use the code pivotal-cote-300 when you register.)

JavaOne 2006 Submission: Logging with java.util.logging

Since I spent sometime a couple months ago putting together a presentation on logging in Java, I thought I’d submit a proposal to JavaOne this year. Here’s the proposal I wrote up:

Title

Logging in Java ™ with java.util.logging

Abstract

This presentation shows you how and why to use the logging API that’s
bundled in the core J2SE library. You’ll learn the basics of logging
and configuring, advanced logging and configuration, how to tailor
logging to your needs, and best practices for logging.

We’ll go beyond the standard documentation available in the J2SE and
on the web, using plenty of examples to explain pragmatic ways to
quickly and effectively use the logging API in your code.

The built in logging API has been available in the J2SE for several
years, but consistent and knowledge use of this API is sparse. This
despite both the richness and simplicity of logging, not to mention
the consistency and portability benefits of using the bundled logging
API.

Logging is vital for both quick debugging during development and once
your software has been deployed onto hosted servers or in the field to
customers. Oftentimes all that stands between you and hours of
debugging over the phone is the ability to quickly use logging to
diagnose problems remotely. Attending this session will help save you
from those tedious and costly hours, keeping you and your customers
happy.

Presentation Summary

The presentation follows the outline below:

What logging code looks like

A quick dive into what logging with the logging API actually looks like in
code and as output.

When and why to log

Why programmers should bother to thoroughly put logging in their applications:
the primary reason being that once your application is run in a non-developer
environment, in production, it becomes almost impossible to debug. As a result,
customers get frustrated as problems take “forever” to fix, and companies spend
too much time and money diagnosing problems in the field.

The Logging API

This section introduces the different concepts in the logging API: log
levels, the different log messages, handlers, formatters, etc.

It also covers best practices in logging, such as when to double check
the logging level for performance, using argument’ed messages, logging
exceptions, and how to determine where in the code to log.

Finally, this section covers how to configure logging using the
default flat files, at runtime, and with the newly available logging
MBean. Knowing how to properly configure logging, especially during
runtime is an invaluable skill.

This section contains many code examples that illustrate the points.

Customizing Logging

This section covers the customizations that can be made in the logging
API, such as custom handlers and formatters, as well as some
extensions to logging, such as context loggers that take care of
logging tedious to code, but vital to debug, information.

A brief section covers using Aspect Oriented Programming to help weave
logging in; pit-falls of an AOP approach are also covered.

Logging Grab Bag, Tip and Tricks

The last section collects together a “Top 10” style list of tips and tricks
with the logging API.

If you’re interested in taking a look at it, there’s a draft of the presentation available.

And, of course, if you’re interested in me giving the presentation, feel free to contact me and we’ll work something out: I’m sure it’d be fun ;>

Tags: , , , .

J2SE 5.0 Upgrade on OS X Breaks XSLT

I updated to the new Java release on OS X today, and it broke my use of XSLT in Java. From what I’ve read, J2SE 5.0 no longer sets the system property that tells JAXP which TransformerFactory to use. This, of course, seems kind of silly. I’m sure there’s some long, drawn out explanation of why: the upshot is that shit don’t work for me.

To get around this, you have to pass in the following system property to all your Java processes that are going to be running XSLT:

-Djavax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl

This bug report from maven has some more detail.

Tags: , .