Shaun Abram
Technology and Leadership Blog
Java8
Java8 isn’t scheduled for for release until March 2014, but early release versions have been available for a while.
Some of the most interesting new features are:
- Streams
- Functional interfaces
- Default methods
- Lambdas
- Java Time
Java7 – A look back
I started writing a blog post on what’s new in the upcoming Java8 release, and thought I would start by doing a quick look back at what Java7 brought to us.
Java7 was released back in July 2011, and was described as “more evolutionary than revolutionary”.
“There are some significant improvements, but no really earth-shattering or ground-breaking kinds of features.” – Oracle chief Java architect Mark Reinhold
It didn’t contain the much hyped lambda expressions for example. Still, it did bring a lot of other neat additions to the Java language. You can see the more at http://docs.oracle.com/javase/7/docs/, or read on for my summary.
Using Java8 with Maven in IntelliJ (invalid target release: 1.8)
I recently started trying out the early access version of Java8. When I tried using it with maven in IntelliJ however, I got the following error when I ran the maven install command:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project xyz:
Fatal error compiling: invalid target release: 1.8\
Although I saw some suggestions on stackoverflow here about hardcoded JAVA_HOME paths, the solution was just changing the maven specific version of Java that IntelliJ uses. This can be done via:
File > Settings > Project Settings > Maven > Runner
and selecting the 1.8 version of the JRE.
Tags: intellij, Java, Java8, Maven, mvn
HelloWorld: JSP -> Servlet
A while ago, I posted a simple HelloWorld Html->Servlet->JSP setup. Even though the html part is unnecessary (a JSP can obviously handle that alone), I deliberately included it as a template for Html/Servlet/JSP interaction. I have used it a bunch of times to get simple Proof of Concept projects up and running, or as a basis to create a simple browser interface to some server side process.
Most of the more recent projects I have used it on however have used straight JSP->Servlet, with no .html file involved. So I am now posting that setup, including some simple JSTL EL and conditional logic.
Silicon Valley Code Camp Notes
I am at the Silicon Valley Code Camp at the moment.
I will try to post some notes on the various talks I attend below…
Day 1:
- Session 1: JavaScript
- Session 2: Easing into Agile
- Session 3: Building Better Tests in Java
- Session 4: What is Python?
Day 2:
- Session 1: Basics of Threading
- Session 2: Introduction to Grails
Tags: agile, codecamp, Java, JavaScript, python, Testing, threading
Workflow Management: JBoss’s JBPM
The project I’m currently working on had a requirement for a workflow engine to manage the various process flow options for an order management system. For example, an order can be created, modified, submitted etc and we need to be able to persist and retrieve the process at any stage as we wait for human involvement to move to the next stage. I have been evaluating JBoss’s JBPM. It seems to meet our requirements but has been very difficult to get up and running. Overall it has been a frustrating process so far. The main JBoss JBPM site is at here and theServerSide has a good article on using it with Spring/Hibernate integration.
Tags: bpel, Hibernate, Java, jboss, jbpm, jpdl, spring, workflow
Silicon Valley Code Camp
I have signed up for this code camp next weekend…
http://www.siliconvalley-codecamp.com/
There are some interesting sessions on, amongst other things, Groovy, Grails, Java, Web Services, Testing, Agile development and more. And it’s all free and ran by volunteers…
I will post some feedback when the weekend is over.
Tags: Java
POJOs in Action
My latest reading material is POJOs in Action – a good book about developing Enterprise Applications using Lightweight Frameworks such as Spring, Hibernate and JDO. It basically advocates an alternative approach to using heavyweight containers such as EJBs (although they seem have improved a lot since the release of EJB3).
I was also able to meet the author, Chris Richardson, after attending my first San Francisco Java User Group meeting.
JEE
So what exactly is Java Enterprise Edition?
Although I am a Sun Certified Enterprise Architect, and have worked with much of the J2EE family, I thought that with all the recent changes introduced in the latest version, JEE 5, it was worth writing a short article giving an overview of JEE to remind me of where it all stands.
See JEE.
Update: I just saw this posting on TheServerSide related to the upcoming JEE 6 release…
Effective Java
Just finished reading Effective Java by Joshua Bloch.
It is a great book that contains many nuggets of info, best practices and gotchas. Definitely the best Java book I have read in a while.
Next up, I have started on another book that Bloch contributed to: Java Concurrency in Practice.
What’s new in Java 6?
Although it’s been around for a while, I’m still trying to get acquainted with version 6 of Java SE.
It has many neat new features, such as integrated scripting, enhanced JDBC features and better Web service support. See Java 6 for some more details on it’s offerings.
Also, even if you’re not interested in the new API and functionality, you might to consider just using it’s JRE as Java 6 is reported to be significantly faster. According to Sun, “existing applications will run faster than ever before on the new Java SE 6 release”.
Tags: Java