Java

Code One - Day One

— Maarten Mulders

This year I’m returning to Oracle Code One (formerly JavaOne) for the third time. I’m planning to write some notes on interesting sessions or other content.

How did I get that library?!

— Maarten Mulders

When you’re writing Java applications, chances are you’re using Maven for dependency management. It lets you declare the artifacts you need to build your application. Those artifacts also depend on other artifacts. This means you have transitive dependencies - dependencies you didn’t declare yourself but you need them anyway.

Reports from Devoxx PL

— Maarten Mulders

From yesterday until tomorrow I’m attending Devoxx Poland (or Devoxx PL for short). It’s the second largest conference in the Devoxx family with around 2700 people attending. The conference is held in the ICE Kraków Congress Centre, a large venue with an amazing primary room. Entrance of the ICE The main reason I’m here is to give a talk about GraalVM on Wednesday morning. Apart from that, it’s a nice opportunity to network, meet old friends and make new ones.

A first look at MVC 1.0

— Maarten Mulders

Recently, Twitter brought the renaming of Ozark to Krazo to my attention. It pulled my attention: I had never heard of either projects, and I wondered what they would be about. Ozark (or Krazo) will be the Reference Implementation of the new Model-View-Controller Specification. This MVC specification, also known as JSR 371, was planned for inclusion in Java EE 8, but eventually dropped. Apparently, this didn’t kill the effort. I was curious to see where the specification (and it’s implementation) would be now.

Custom SOAP Faults using Spring WS

— Maarten Mulders

There are many situations when you need to write a SOAP-based webservice. Maybe you are writing a test dummy, or maybe you got the interface from some kind of architect. (Yes, there are other reasons, too.) And chances are you’ll be using Spring-WS to do this. Recently I was doing that, and I found the following inside the interface definition (WSDL): <element name="faultMessage" type="common:FaultMessage"/> <message name="faultMessage"> <part name="faultMessage" element="tns:faultMessage"/> </message> <portType name="someName"> <operation name="searchOrder"> <input message="tns:searchOrderRequest"/> <output message="tns:searchOrderResponse"/> <fault name="faultMessage" message="tns:faultMessage"/> </operation> </portType> That was a rather challenging thing!

Impressions of the first JVMCON

— Maarten Mulders

Last Tuesday was the first edition of JVMCON. This conference has a special programme committee: its audience. When the Call for Papers closed, everyone who had a ticket could see the submitted papers. Only, they could not see who submitted the paper - which let them focus on the papers themselves. Out of almost 180 papers, they had to select 13… And guess what: one of them was mine! I presented my talk for the early birds, and there were quite a lot of them!

I upgraded to Java 9 - Part II

— Maarten Mulders

A few weeks ago, I wrote about migrating an existing Spring-application to Java 9. When I finished, two things remained to be investigated: Code coverage for unit tests. A bunch of warnings when running the application in Tomcat. Code coverage for unit tests As Alan Bateman pointed out, upgrading JaCoCo to its latest version should resolve the issue about the $jacocoData field. In fact, I thought I had done that, but somehow I kept on getting the same error every single time.

I upgraded to Java 9 - here's what happened

— Maarten Mulders

I recently participated in a Twitter conversation about upgrading to Java 9. Like most of the people, my current projects are all on Java 8. Of course the question came up, why don’t you upgrade? Good question! Since I hadn’t even tried, I decided to see how far I could come… The component I took for my experiment is a pretty simple Spring application. It doesn’t use Spring Boot. It exposes a few REST endpoints, and calls couple of webservices over SOAP.

Devoxx 2017

— Maarten Mulders

Almost two months ago I visited Devoxx 2017. It’s about time to write some notes on the stuff I learnt there! Event Storming & DDD workshop The week started off with a full afternoon workshop led by Stijn Vanpoucke. The workshop consisted of small pieces of theory, alternated with exercises using post-it’s and markers. A few of the theoretic pieces: An event is something that has happened in the past.

Getting Started with Zuul

— Maarten Mulders

It’s been a while since my last post! I recently have been reading a lot about the idea of “API management” or an “API gateway”. There’s a lot of commercial offerings in this field. Many of them promise you (to some extend) ultimate flexibility and endless possibilities. My preference is for “lean and mean” approaches where I can pick the building blocks that I need. In the long run, that offers more flexibility.