When mixing Java and Groovy, the time might come when you want to dip into Java's functional features, but while using Groovy's syntax. Enter closures.
If your priority is the performance of queries on large amounts of data and you have a lot of RAM, an in-memory data grid is the right solution for you!
When I started an app with IntelliJ, it always took more than 60 seconds to start the deployed app. No one bothered to examine why, so I took the 30 minutes to do it.
SOAP APIs weren't designed for integration, with developer UX in mind. The new SOAP Builder tool converts your SOAP-based endpoint into a unified REST API.
In a close and, at times, contentious vote, the JCP Executive Committee has tabled Project Jigsaw for up to 30 days to work out the tough problems it faces.
Java as a language makes concurrent code look unpleasant. Maybe Kotlin can help. Yet another, although experimental, step would be to use coroutines instead of Futures.
Connection pooling is a great technique for database optimization, and HikariCP is among the best. Let's set up multiple connection pools with different configurations.
Wish you could call up Enums by names or values while ignoring nonexistent ones? Wish you didn't have to deal with exceptions? Without boilerplate? You can!
Flyway makes database versioning almost trivially easy. You can put migration scripts in a directory of choice and the database will be magically migrated for you.
DataSynapse GridServer is a highly scalable infrastructure that enables app services to operate virtually. Learn about working with it and client implementation in Java.
Nitrite is a serverless embedded database ideal for desktop, mobile, or small web applications. Learn the basics of it, how to install it, and how to use it.