Category Archives: Java

Gradle dependencies tutorial

Gradle has very powerful dependency management features. In this tutorial I will walk through creating a multi module Java project, and explain: How the api and implementation dependencies work How to create a custom dependency resolution strategy to: Hard fail … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment

Gradle – working with files

When working with files in Gradle, the key classes are: FileCollection FileTree – which extends FileCollection Getting a FileCollection You can get a file collection by using the files() method which is always available (from the Project object). FileCollection myFiles … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment

Debugging Gradle

If you are new to any tool or technology, knowing how to debug when things go wrong is a really important skill. This post gives some beginner tips on how to debug Gradle builds. Note: In the commands below, I’m … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment

Error handling in Apache Camel

Scenarios When coding an integration with Apache Camel, we need to be able to deal with many different kinds of error: Bug / error in our own code, before we have communicated with the remote service. Getting a connection to … Continue reading

Posted in Camel, Java | Tagged , | Leave a comment

Gradle incremental tasks and builds

One of the things that makes a build efficient is when it can run incrementally. i.e. If you have already run one build, and you change things and run another, the second build should only have to rerun some tasks … Continue reading

Posted in Gradle, Java | Tagged | Leave a comment

Gradle Release Plugin

Gradle has a release plugin that mimics the Maven release plugin behaviour. i.e. you specify a snapshot version in your build and the plugin can update the version to a released version, commit and push that. The plugin is not … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment

Dependencies and Configurations in Gradle

What is a Gradle configuration? In Maven dependencies can be assigned to a given scope: compile – available on all classpaths and propagated to dependent projects provided – will be provided by your container runtime test Gradle has a much … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment

Type conversion and NoTypeConversionAvailableException in Apache Camel

In Camel, type conversion of a message body can be done using the tag: <convertBodyTo type=”com.something.SomeClass”/> Camel docs on type converter: https://camel.apache.org/manual/type-converter.html Type converters are loaded from the classpath, so the imports of your OSGI module will affect what converters … Continue reading

Posted in Camel, Java | Tagged , | Leave a comment

Using test fixtures in Gradle and Maven

In Maven if you want to reuse text fixtures from one module in another module, you use the jar plugin and build a test jar. You have to specify what classes and other resources to include. Gradle has a dedicated … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment

Memory leak with Spring integration test context caching

I’ve recently had to debug another out of memory with our Spring integration tests. The tests are configured to create a heapdump on out of memory so I loaded it up with the Eclipse Memory Analyser and this is what … Continue reading

Posted in Java, Spring, Testing | Tagged , , | Leave a comment