Release 5.3
New features and improvements
-
Official Docker repository for Rapidoid:
docker run rapidoid --help
-
Maven plug-in for simple & easy packaging of uber-JAR:
mvn org.rapidoid:app:build
- it works on any Maven project, without configuring anything -
Maven plug-in for simple & easy application deployment on multiple servers:
mvn org.rapidoid:app:deploy
- it works on any Maven project, requires deploy.yml -
fine-grained activation of built-in services through command-line parameters:
docker run -p 8888:8888 rapidoid
-
new API for super-easy recursive file search by name patterns and type:
IO.find("pom.xml").files().in(location).recursive().getLocations()
-
high-performance in-memory cache with fluent API and basic statistics:
Cache<String, Integer> lengths = Caching.ofString key) → key.length(.ttl(1000).build()
-
fine-grained scope control in the authentication tokens
-
stronger security - AES and HMAC cryptography utils were re-written from scratch:
byte[] enc = Crypto.encrypt(msg.getBytes())
-
new built-in status service, serving application and system status information
-
new built-in processes service for management of child processes
-
new built-in discovery service for simple peer discovery (transient)
-
new built-in echo service for debugging received requests
-
improved deployment process with 2-phase application JAR staging + deployment
-
many new end-to-end tests for Rapidoid’s Docker container integration
-
improved logger, enriched API, also configured as default commons-logging implementation:
Log.info("Super-simple and cool!");
-
improved generic request pipeline processing (low-level Net API)
-
convenient way to define and display custom metrics
-
built-in mysql and postgres profiles for
JDBC
andHibernate
configuration -
hot reloading upon external configuration changes
-
super-simple SQL-powered RESTful services and GUI pages
-
Simplified job scheduling:
Jobs.after(3).seconds().run(() → {})
-
constructor-based dependency injection
-
optional integration with
Guice
-
salted password hash generator (for the users configuration):
docker run -it --rm rapidoid password
-
several bug fixes
-
many small improvements
Breaking changes
-
changes in the low-level async Net API - added
void resume(long connId, long handle, AsyncLogic asyncLogic)
-
renamed URIs for the built-in services from
//
to/
-
removed the factory utils from the Goodies (please use normal instantiation instead)