Spincast Logback Utils plugin

2019-03-12 11:00 PM (2 years ago)

A new plugin, Spincast Logback Utils is now available. This small plugin allows you to easily configure Logback, for logging purposes in your application.

Using plain Java code, you can specify which configuration file Logback should be configured with, for example depending on the environment the application runs on! The plugin also allows you to tweak the content of the configuration file, for example by replacing some placeholders.

Spincast 1.0.0

2019-03-10 4:00 PM (2 years ago)

The very first Git commit of Spincast framework was done April 23, 2016, almost three years ago! Since then, Spincast has always stayed in beta... Why is that? The answer is that we wanted to stabilize the API as much as possible and we wanted Spincast to be used on real projects before calling it ready.

Since then, a lot of new plugins have been developed. A RealWorld.io implementation (here) was also created... RealWorld.io is slowly becoming a mandatory rite of passage for any new framework.

Big Bada Boom comics is an example of a real project entirely based on Spincast. Everything, from authentication to security is based on Spincast framework.

At first, we wanted to migrate Spincast to Java 11 before tagging it 1.0.0, but sadly we feel the Java ecosystem is still not perfect in regard to the new JPMS/Jigsaw module system added in Java 9... We encountered many errors using the popular IDEs trying to migrate. So we decided to stabilize on Java 8 first. Spincast 2.X.X will be based on Java 11 when we feel the tools are mature enough.

Please play with the Quick Start application! Tell us what you think. Feel free to contribute. We know we do not have the financial resources or a community as big as other frameworks such as Spring, but look at the code, experiment a bit, make your own mind.

Hotlinking protection and images watermarking

2019-03-02 4:00 PM (2 years ago)

A new feature and a new plugin are now available and they work together very well!

The new feature is Hotlinking Protection. This feature allows you to protect resources from your website that may have been embedded in a foreign website, without your consent. You can then simply stop serving those hotlinked resources (a forbidden status is returned), or you can decide to serve different versions of them...

And this is where the new plugin becomes handy: the Spincast Watermark Plugin. This plugin allows you to watermark files, images in particular. For example, you could use this plugin to create an image identical to a base image but with your logo added at one of its corners.

Hotlinking protection and watermarking go very well together, as you can now easily serve a watermarked version of your images if they are hotlinked without your consent.

Database migration using Flyway

2018-09-16 2:00 AM (2 years ago)

A new plugin, Spincast Flyway Utils, integrates Flyway into Spincast to provide easy migrations for your SQL database.

By using this plugin, you write your migrations using plain Java code, will full dependency injection support. You are also sure the appropriate connection will be used when running the SQL queries, even when your code makes use of existing components that are not aware of the migration context.

Hot Swapping

2018-09-09 8:00 PM (2 years ago)

A new plugin, Spincast Hotswap, helps you configure hot swapping (sometimes called "hot reloading") in your application.

The plugin uses HotswapAgent + DCEVM to get the best Java classes redefinitions solution available for free! The modifications you make to your Java source code during development are immediately picked up, without the need to restart the application.

In addition to the automatic classes redefinitions provided by HotswapAgent, you can also register listeners to be called when modifications are made. By using such listeners, you can run custom code to react to modifications (by clearing cache, refreshing routes, refreshing configurations, etc.).

Those new features lead to a very pleasant and fast development experience.