At work, I've been working on an implementation of Liferay, an open source portlet server that has a focus on content management and collaborative / social applications. It's a good-sized departure from ColdFusion development, but I'm finding that what we in the OO ColdFusion community have learned over the past 3-4 years makes us perfectly suited to this level of J2EE development.
On this project, I'm mainly serving as an architect and product designer, but I hit a feature / change I wanted to implement that needed to occur at the service level. At first, I was scared - I mean, this is the big-bad scary complex world of Java. However, once I looked at how it was put together, I realized that it's nothing but the same concepts we in the OO ColdFusion world. Here's all I had to do:
- Subclass (extend) the service component I needed to modify (SocialActivityLocalServiceImpl, which provides an activity feed)
- Open a Spring beans file (ext-spring.xml)
- Redefine the bean tag to point to my custom subclass
- Restart Tomcat
Now that's JEE the way it should be! Big thanks to Dave Ross and Chris Scott (and others) for knocking out ColdSpring - as well as improving my CF apps, it's taught me concepts I can definitely take elsewhere.