Open Source on IBM i

Dynamic Configuration with ILEastic

My last post was about sharing configuration in an ILEastic web service. This is especially handy when you split your web service application into multiple modules. This is not necessary but may be a good idea if you have many end points / routes...

Sharing Configuration in ILEastic

I stumbled upon a little problem I first had some trouble to wrap my head around. My situation was the following: I had an ILEastic web service with multiple modules I wanted to share the configuration data with all modules So for this kind of...

I can package it all by myself

... and also provide those packages to others. But you probably know this expression much better as "I can read it all by myself". I have read those books from Dr. Seuss very often and with pleasure. Some were real tongue twisters. But what I...

Streaming API for ILE

For those of you who cannot associate anything with streams in programming: A stream consists of an emitter (provider) of data and a sequence of one or more consumers of data whereas the consumer may pass the data further to the next consumer...

iPKG beta 2

Hi folks! The next beta is out with some new features. First a simple but important one: VERSION action. Now you can see which iPKG client version you got. Currently the version is stored in the user defined attribute of the object. But this can...

Creating a Unix Timestamp

As most people know the Unix timestamp is an integer value which represents the seconds from 1970-01-01. There is currently no built-in function for it but you can easily calculate it by yourself. **FREE ctl-opt dftactgrp(*no) actgrp(*caller);...

JDBCR4 and Batch Updates and Inserts

I had to work with a remote Oracle database lately and the choice was made to use Scott's wrapper around the Java JDBC API. The solution worked. Everything is fine. Is it? No it isn't. I had to insert some thousand records into the...

Measuring Time Spent

Sometimes you have a block of code and just want to know how long it took the machine to execute it. The Java developers have some really cool metric libraries like the Dropwizard subproject Metrics. But for the quick and dirty case there is...

Hey Socket, take a break!

Ever wanted a normal (blocking) socket connection to listen for data but also wanted to check for a condition if it should stop listening? Problem is that the default BSD 4.3 version of the socket API (which is the default API to bind to) does not...