Sunday, November 24, 2019
Eine Konferenz als Fremder besuchen
Wie ich die W-JAX 2019 besucht habe und als Fremder eine gute Zeit hatte schildere ich hier in einem Beitrag.
Labels:
Kommunikation,
Konferenz
Tuesday, October 8, 2019
Is it worth reporting an obvious and trivial documentation error?
I reported and fixed a very small, obvious and trivial documentation error in an OSS project and it was worth it.
Read the full story on my GitHub page:
Monday, June 19, 2017
Open Source Elastic Stack - First Steps
Open Source Elastic Stack - First Steps
I evaluated the Open Source Elastic Stack and wrote some notes about it. You can find them on my GitHub account:
Labels:
#beats,
#Elastic,
#Elasticsearch,
#ElasticStack,
#Filebeat,
#Java,
#Kibana,
#Logging,
#Logstash
Friday, March 10, 2017
How-To write and document a Maven Plugin
"Maven is - at its heart - a plugin execution framework; all work is done by plugins."
This quote is the start of the Maven Plugins documentation. Thus, if you want to customize your Maven build project you should think about using a special plugin. If no plugin for your task is available you have the possibility to write your own.
Labels:
Documentation,
Java,
Maven
Tuesday, March 7, 2017
Java 9 - Multi-Release Jar Example
Java 9 offers the possibility to build a JAR file with a format that "allows multiple, Java-release-specific versions of class files to coexist in a single archive" (JEP 238: Multi-Release JAR Files).
I build a sample project to show how Multi-Release Jars can be build with Maven. You can find it here on my GitHub page.
![]() |
| Content of my Multi-Release Jar example artifact |
I build a sample project to show how Multi-Release Jars can be build with Maven. You can find it here on my GitHub page.
Labels:
#Java #Java9 #Maven
Sunday, February 26, 2017
First Steps With Degraph
A crucial part of implementing software components is to get your code free from unwanted package dependencies. But most of the time it is hard to get an overview of which code depends on each other. SonarQube is a great tool but unfortunately they dropped the Package Tangle Index analysis support (see 'Also worth noting' here). JDepend is another tool but I could not really get familiar with it (even not with the eclipse IDE integration). Thus I decided to try Degraph - a newer tool that I heard of some time ago.
Labels:
Degraph,
Java,
Software Development,
Software Documentation
Sunday, February 12, 2017
Camunda BPM User Task with Timer Boundary Event to react on follow-up / due dates
User tasks (in general) often work with follow-up or due dates. Camunda BPM does support this by providing corresponding properties / members on the User Task BPMN. The Camunda API allows to filter user tasks by these dates so that due or overdue tasks can be found easily.
Beside the query filter also Timer Boundary Events on user tasks can be used to "detect" the maturity of a user task and to trigger an automatic action.
I implemented a working example to show the usage of timer boundary events on user tasks. You can find it at this GitHub location.
Have fun!
Beside the query filter also Timer Boundary Events on user tasks can be used to "detect" the maturity of a user task and to trigger an automatic action.
I implemented a working example to show the usage of timer boundary events on user tasks. You can find it at this GitHub location.
Have fun!
Wednesday, December 7, 2016
Customizable Event Log inside Camunda BPM process
![]() |
| Example BPM Diagram |
A BPM (Business Process Management) process exists of lots of flow objects (activities, events, gateways) and at some point of execution - for example when a user is prompted to perform a task - an information about "what happend so far" is helpful or even required.
This post discusses a approach to assemble a custom Event Log by using a decision table inside a BPM process that is executed with the Camunda BPM engine.
As the solution was put into code you will not find the post content here, but near the code. So have a look at my camunda-customizable-event-log GitHub project.
Feel free to add comments here.
Monday, June 20, 2016
Running SonarQube behind a proxy
I am a longtime user of the SonarQube quality management platform and was very pleased when SonarQube 5.6 LTS was released. I expected that the upgrade from the 4.5.7 LTS version would be as trouble-free as updates in the past. Unfortunately I noticed that the native https support was dropped. Thus the https support now has to be provided by a proxy as described in the "Securing the Server Behind a Proxy" documentation part.
Tuesday, April 15, 2014
Operation friendly Spring application runtime configuration
Most applications need some kind of runtime configuration like e.g. database connection settings. These seetings are usually provided as program arguments or system properties. The following post will show a proper way to include runtime configuration support in a modern Spring application to make it is easy to handle the application by the operation team.
Labels:
Java,
Spring,
Spring framework
Monday, March 24, 2014
Moving a Maven artifact to new coordinates
Sometimes it can be necessary to move a Maven artifact to new project coordinates (groupId, artifactId, version). Fortunatly Maven does supports this use case.
Wednesday, February 12, 2014
Logging request/response messages with Apache CXF
Labels:
Apache CXF,
Java,
Software Development
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.
Labels:
Java,
Java Mission Control,
JDK,
JVM
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.
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.
Labels:
Java
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.
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.
Labels:
Software Development,
Technology Radar
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.
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.
Labels:
Apache CXF,
Java,
JiBX,
XML
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.
Subscribe to:
Posts (Atom)











