Just a little reminder to self: when running Tomcat with Java 8 in an Ubuntu Docker container, Tomcat will take a very long time (minutes!) to start with even the simplest web application. The issue is actually documented (not entirely Docker-related). The solution is to modify JAVA_OPTS to use a different random device: JAVA_OPTS=-Djava.security.egd=file:/dev/urandom
Category: java
Fauxjsp: productive JSP development
Important note: This post is not being updated. For up-to-date information refer to the project repository: https://github.com/ggeorgovassilis/fauxjsp/ About JSP In this post I'll present a new open source project I'm currently working on, fauxjsp [1] which re-implements JSP in a way that is more robust and faster for developers. It is intended for development, where … Continue reading Fauxjsp: productive JSP development
Reactive programming for Java, revisited
Abstract Rewritten on 15 January 2015 In this post I'll talk about the problems callbacks introduce into the readability of asynchronous Java programs. I'll also discuss an implementation of method pointers for Java which aids the transformation of a callback-style program into a linear program flow, greatly increasing readability while still being a 100% asynchronous … Continue reading Reactive programming for Java, revisited
Tomcat/Scala: invalid byte tag in constant pool: 110
When deploying a Scala application on Tomcat 7 I got this weird error: invalid byte tag in constant pool: 110 from Tomcat's annotation scanning in the scala utils jar. There is this bug report that claims it's fixed, but it seems to still happen wit 7.0.53. Since the application doesn't rely on Tomcat's annotation scanning, … Continue reading Tomcat/Scala: invalid byte tag in constant pool: 110
On JPA identifiers and business keys (or why business keys are a bad idea)
JPA, and for that matter Hibernate, depends on identifying entity instances (I'll refer to them as entities for short) by some key. That key can either be a single property (like a numeric ID column in the corresponding table) or a business key (also referred to as natural key). Business keys are entity properties which … Continue reading On JPA identifiers and business keys (or why business keys are a bad idea)