Skip to main content

You are currently viewing the Trifork Blog, to view our full website please go to Trifork.com

Axon from the trenches: how to keep your code compatible with legacy events and Sagas

Imagine you’re using Axon to run an event sourcing application. Your production event store might contain millions of events, created in various versions of the application. Wouldn’t it be nice to know for sure that the latest version of your application plays nicely with all your production events and Sagas, including those from previous versions? […]

Dealing with NodeNotAvailableExceptions in Elasticsearch

Dealing with NodeNotAvailableExceptions in Elasticsearch

tl;dr Elasticsearch provides distributed search with minimal setup and configuration. Now the nice thing about it is that, most of the time, you don’t need to be particularly concerned about how it does what it does. You give it some parameters – “I want 3 nodes”, “I want 3 shards”, “I want every shard to […]

Developing .NET software on Linux with Mono

Developing .NET software on Linux with Mono

The motivation The obvious question here is why would you want to develop .NET software on Linux or for Linux? At the risk of sounding like throwing buzzwords around, I will say it is because Linux dominates the cloud completely. Many cloud-related technologies such as Docker, Mesos, and others build on Linux as a base. […]

Integrating Flyway In A Spring Framework Application

Integrating Flyway In A Spring Framework Application

This post is about how to integrate Flyway into a Spring/JPA application for database schema migration. To skip all the preambles and get straight to the instructions, jump to Project’s Dependencies Set-up Flyway is a database migration tool which helps do to databases, what tools like git/svn/mercurial does for source code…which is versioning. With Flyway you […]

How to Remotely Debug Application Running on Tomcat From Within Intellij IDEA

How to Remotely Debug Application Running on Tomcat From Within Intellij IDEA

This post would look into how to tackle and debug issues in scenarios where they only occur in production (or other remote environment) but not in development environment. As anybody who has been in this kind of situation would acknowledge, trying to pinpoint the cause of these kind of “issues” might quickly end up being […]

Supporting IE10 on a Rich Internet Application with Vaadin – the Vaadin 7 migration

Supporting IE10 on a Rich Internet Application with Vaadin – the Vaadin 7 migration

Amidst the popularity of JavaScript-CSS frameworks like Bootstrap and Angular.js, Java developers like myself are still most comfortable with what we know – Java code. Vaadin provides a framework for Java developers to write rich internet applications that are highly interactive while usually not having to write a line of Javascript code. It builds on […]

Declarative multi-tenant security with Spring Security and Spring-MVC

It’s been a while since our last ‘from the trenches’ entry, and as I’ve found I am better at authoring blogs than convincing colleagues to do the same I figured I’d write you another installment. This time I’d like to focus on an easy yet powerful approach that we used to secure a multi-tenant Spring-MVC […]

Ansible from the Trenches

Although its name might suggest something different on Wikipedia, Ansible is an open source framework that is capable of automating various system tasks like setting up a server, deploying and configuring applications and command execution (See Ansibleworks.com). Ansible can run across many virtual machines without the need to augment it with other tools. For distribution […]