Wednesday, December 18, 2013

How To Read A Maven Plugin Documentation

I recently came along a tutorial that describes "How to skip Maven unit test example". The author certainly had the best intentions - but finally he messed things up. This would not have happend if he had a look at the plugin documentation. If you once understand how to read it - plugin usage will be simple.

Wednesday, November 13, 2013

Software deserves documentation

Building software is a tough process. A lot of disciplines are involved to specify the requirements, to define the software architecture, to manage the data, to test, to integrate and to run the software and possibly to do a lot more thinks. Different processes - from waterfall to agile - try to handle these tasks in different ways and they produce different documentation artifacts.

Wednesday, September 11, 2013

Java Mission Control - (yet) another JVM monitoring tool included in the JDK

Oracle launched Java 1.7 update 40 on Sep 10, 2013. This version includes the Java Mission Control JVM monitoring tool.

After having a look at the demo I thought it would be a good idea to test the tool myself.

Tuesday, July 23, 2013

Java Code Conventions from the last century

I find it very helpful that Java Code Conventions exist for a long time now. They really "improve the readability of the software, allowing engineers to understand new code more quickly and thoroughly" (from the Code Conventions web page).

But while the Java language evolves the code conventions remain the same. Since the Java Code Conventions were last updated in 1999 several new Java language features were introduced including lambdas in the upcoming version of Java 8.

Monday, June 10, 2013

My Technology Radar

ThoughtWorks published a recent version of their Technology Radar these days and Neil Ford did some explanation on it with the recommendation to "Build Your Own Technology Radar".

I thought this is quite a good idea and so I wrote it down. Keep in mind that I am a Java backend developer so the topics that appear in this radar are affected by this.

Sunday, April 28, 2013

Using Apache CXF SOAP service with customized JiBX databinding

This post gives a brief overview on how to build an Apache CXF SOAP service with JiBX databinding.

Apache CXF is an open source services framework that helps building JAX-WS and JAX-RS web services. JiBX is a XML binding tool for Java. To understand the post it is necessary to be familiar with Apache CXF and JiBX.

Thursday, March 21, 2013

Monitoring Windows Tomcat Service with Java VisualVM
(and how I finally failed)

Local Java Applications that are running as a Windows Service can not be monitored with Java VisualVM without some extra efforts. I recently tried to monitor a Tomcat service but I could not find it after starting Java VisualVM. I wondered what was wrong and found the best answer in an old Netbeans Profiler Blog post: "Monitoring Java Processes Running As a Windows Service". The reason why I did not see the Tomcat Service in the application tree was:

Friday, March 1, 2013

Interesting Software News (in my view)

The technologie and tool stack I work with was heavily updated in 2013. This post is a quick overview of the most important technologies (primarily Java) and tools (primarily IDE) changes that happend this year.

Beside these there are some interesting announcements that I like to share and I also want to mention some smaller tools that I use more or less often and that also might be useful for someone else.

Friday, February 22, 2013

Java Update with Ask toolbar - I did it!

A recent articel from Ed Bott handles the Java update process and the integrated Ask toolbar installation option. I will not go into detail (that I don't know) about this but I mostly agree with +Cay Horstmann - who Didn't Ask for a Toolbar with That Java.

I am passionate about Java. I use it every (working) day. The product and it's ecosystem are amazing. Today I feel the need to give something back!

Therefore I installed Java INCULDING the Ask toolbar
Oracle, you really deserved it. Feel free to use the earned money - no matter what for.

OK, to be true, I didn't installed it on my computer. Instead it was a perfect opportunity to test VirtualBox - another free Oracle product that comes (as far as I noticed) without an Ask toolbar installation option.

And because I am passionate about Java I will now delete the created "Java Update virtual machine" and I maybe also sign the petition against the Ask toolbar integration.

Oracle, if I can do anything else for your success - please let me know. I will do my very best - Thanks for sharing Java!

Thursday, February 7, 2013

Time to meet Java 8 with Lambda Expressions!

The Java 8 development is on its way an the (nearly) feature complete JDK 8 M6 (build b75) release was published on 2013/01/31. This version contains the Lambda Expressions - so time to meet!

The JDK 8 M6 is available on the JDK 8 project site. The installation process is simple and (as far as I noticed) does not contain any Ask toolbar installation option ;-) After the installation my system featured the following java version:

C:\>java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b75)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b17, mixed mode)

The Project Lambda provides a Netbeans 8 Nightly Build with experimental Lambda support but as my first example is trivial I just ignored the IDE compiler warnings and compiled and ran the class from the command line.

And that's it. Comparator implementation with Lambda Expressions:

As hoped (and expected) the output is:

[1, 2, 3]
[3, 2, 1]

 No big deal but I am glad it worked! Now I am ready to move on...

Some links:

Update: It turned out that the JDK M6 build is not feature complete yet. The current status is explained by Mark Reinhold here

Wednesday, January 9, 2013

Windows command line aliases

As a former part time Ubuntu user I used a lot of alias definitions for often used shell commands. I missed the alias utility on windows but found that the windows doskey utility is a fair enough alternative for me.

I most often use doskey in the form

doskey <MacroName>=[<Text>]
"Creates a macro that carries out the commands specified by Text. MacroName specifies the name you want to assign to the macro. Text specifies the commands you want to record." (from Windows doskey reference as linked above)
The [<Text>] parameter supports some useful special characters like

$T     separates commands
$1-$9  batch parameter placeholder

I put all my doskey definitions in a batch file (myCmd.bat) which I use to start a new command line window.

This works pretty well for me - and maybe also for you. You will find a myCmd.bat example shown below.