Configuration Management in the Docker World

Anyone managing more than a few servers can confirm that doing such a task manually is a waste of time and risky. Configuration management (CM) exists for a long time and there is no single reason I can think of why one would not use one of the tools. The question is not whether to adopt one of them but ...

Read More »

There is no Such Thing as Object-Relational Impedance Mismatch

Much of the ORM criticism of the last decade missed the point, being inaccurate. By the end of this article, we will conclude with the following: There is no significant difference between the relational (data) model and object oriented models How to come to this conclusion? Read on! How we came to believe in this fallacy Many popular bloggers and ...

Read More »

Optional in collections

Sometime it is argued that the type Optional is worth being used in collections. It allegedly solves the problem of e.g.: HashMap that returns null in case there is no mapping for a key as well as when the value null is mapped to the key. If you use a Map<Optional<Something>> then you can clearly separate a missing mapping and ...

Read More »

Integrate Redis to your Spring project

spring-interview-questions-answers

This article shows how to integrate Redis cache to your spring project through annotation configuration. We will begin with our Gradle configuration. We will use the jedis driver. group 'com.gkatzioura.spring' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' apply plugin: 'spring-boot' buildscript { repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.5.RELEASE") } } jar { baseName = 'gs-serving-web-content' ...

Read More »

WildFly Admin Console Updated – Feedback Requested

Red Hat JBoss Enterprise Application Platform (EAP) and WildFly have a symbiotic relationship. In short, Red Hat JBoss Enterprise Application Platform (JBoss EAP) retains all of the innovation of the WildFly community project (formerly known as JBoss Application Server). But only a subscription to JBoss EAP meets the demanding requirements for mission-critical applications and includes the assurance of service-level agreement (SLA)-based support, ...

Read More »

Running a Private Docker Registry on EC2

Docker provides an open source registry implementation called “Distribution,” making it simple for anyone to run a private Docker registry. In this article, I’ll provide a brief introduction to the AWS services integrated with Docker and describe how to use AWS for hosting your own registry. Running server software in the AWS cloud has several advantages: Sophisticated network infrastructure management ...

Read More »

Fabric8 Kubernetes and Openshift Java DSL

Intro The first releases of the Fabric8 v2 have been using a JAX-RS based Kubernetes  client that was using ApacheCXF. The client was great, but we always wanted to provide something thinner, with less dependencies (so that its easier to adopt). We also wanted to give it a fecelift and build a DSL around it so that it becomes easier to ...

Read More »

Zero Downtime Deployment with AWS ECS and ELB

As development teams push farther toward continuous delivery, deploying updates to an application without disruption to users is constantly becoming a more sought-after practice. Amazon’s EC2 Container Service helps to make that easier than ever with tight Elastic Load Balancer integration. Who Needs Zero Downtime Deployment? The response to that question depends on who you ask. The most common answer ...

Read More »

How does FlexyPool support both Connection proxies and decorators

java-interview-questions-answers

Proxies FlexyPool monitors connection pool usage and so it needs to intercept the connection close method call. For simplicity sake, the first version was relying on dynamic proxies for this purpose: private static class ConnectionInvocationHandler implements InvocationHandler { public static final String CLOSE_METHOD_NAME = "close"; private final Connection target; private final ConnectionCallback callback; public ConnectionInvocationHandler( Connection target, ConnectionCallback callback) { ...

Read More »