eHarmony Engineering logo

Posts tagged Java

In Pursuit of Messaging Brokers

June 27, 2015

During this session I will present the path we have taken to: Prioritize Features -> Compare Brokers -> Eliminate -> Benchmark I’ll discuss the findings, together with our recommendations. Messaging Brokers are intrinsic part of our infrastructure. At eHarmony, we have historically used HornetQ, which failed to meet our needs. We have experienced issues that forced us to […]

Maven Dependency Wrangling

December 2, 2014

What nested project versions does your main Apache Maven project actually depend on? How can you choose those nested versions wisely? This Blog post looks at the methodology Rick’s team follows. If you use Gradle or some other tool, the principles are the same though the implementation differs. If you’re a Java developer, you’ve inevitably […]

Design Pattern: Private Type Parameters, an Application of Type Currying for Java

July 16, 2014

I’ve recently noticed myself applying the following design pattern. Then I started noticing it in libraries that I use. It’s better known in Functional circles; I haven’t previously seen a formal description for Java developers. Just as functions can be curried by accumulating and encapsulating object parameters, types can be curried by accumulating and encapsulating […]

Spring Batch Admin – The Tricky Parts

June 26, 2014

In the Matching Engineering team at eHarmony, our projects use the Spring Batch and Spring Data frameworks extensively. As the frameworks became more mature, we realized that a GUI control mechanism would be useful. The new GUI needed to support features like monitoring executing runs, starting and stopping jobs, and using a well-defined API remotely. […]

Spring Batch and Oracle 11G

June 26, 2014

I am sure anyone working with Spring Batch and using Oracle as metadata store has encountered this issue. The problem I am talking about is the default Transaction Isolation level in Spring Batch (SERIALIZABLE), which is causing inconsistent behavior. (However it is fair to mention that this issue isn’t happening as frequently in 10G or […]