Tag: java
Quercus: 100% Java implementation of PHP
Apache Ivy: Java dependency manager that integrates with Apache Ant
We use Apache Ant for our builds at work. We are managing our dependencies by hand right now, but I’m hoping that we can move to Ivy to help ease the burden of managing transitive dependencies (and stop storing jars in our repo alongside our source).
Joda-Time: Date and time API for Java
We’re still using Java 6 for our apps at work. Recently I needed to compute the number of days between 2 dates. It turns out that it’s a non–trivial problem. We’re using JBoss Seam as our web development framework, so I ended up using the Joda-Time packaged with Seam to do the computation. It’s a lovely API and much cleaner than the standard Java API.
XMLUnit: JUnit and NUnit testing for XML
http://xmlunit.sourceforge.net/
XMLUnit allows you to make assertions about XML documents. Take a look at some example code here.
Link: Why composition is often better than inheritance
Dropwizard: Java framework for developing ops-friendly, RESTful web services
https://dropwizard.github.io/dropwizard/
Dropwizard pulls together stable, mature libraries from the Java ecosystem into a simple, light-weight package that lets you focus on getting things done.
Dropwizard has out-of-the-box support for sophisticated configuration, application metrics, logging, operational tools, and much more, allowing you and your team to ship a production-quality web service in the shortest time possible.
Also take a look at this page for a list of the components used in Dropwizard. In short, it uses:
– Jetty for HTTP
– Jersey for REST
– Jackson for JSON
– Metrics for metrics
– And a bunch of other tools for logging, templating, database access, et al.
Jolokia: Remote JMX with JSON over HTTP
FindBugs: Java static analysis tool
http://findbugs.sourceforge.net/
FindBugs is one of the tools I use regularly at work. At the end of each coding iteration, I like to run FindBugs on the code to look for issues. It has caught more than one deferenced NullPointerException. I run the standalone GUI app, but it can be run from an Ant task, the command line, Eclipse, NetBeans, IntelliJ, Hudson, Maven, and Jenkins.
Undertow: Lightweight, non-blocking, embeddable, servlet 3.1 compatible web server with websockets support by JBoss
Isn’t that a lovely blog post title?
Undertow is a flexible performant web server written in java, providing both blocking and non-blocking API’s based on NIO.
Undertow has a composition based architecture that allows you to build a web server by combining small single purpose handlers. The gives you the flexibility to choose between a full Java EE servlet 3.1 container, or a low level non-blocking handler, to anything in between.
Undertow is designed to be fully embeddable, with easy to use fluent builder APIs. Undertow’s lifecycle is completely controlled by the embedding application.
Undertow is sponsored by JBoss and is the default web server in the Wildfly Application Server