What is FF4J?
It is an implementation of Feature Toggle pattern : Enable and disable features or your applications at runtime thanks to dedicated web console, REST API, JMX or even CLI. It handle also properties and provide generic interfaces.
FF4J is a tool in the Feature Flags Management category of a tech stack.
FF4J is an open source tool with 1.3K GitHub stars and 317 GitHub forks. Here’s a link to FF4J's open source repository on GitHub
Who uses FF4J?
Developers
7 developers on StackShare have stated that they use FF4J.
FF4J Integrations
Java, PostgreSQL, MongoDB, Redis, and Elasticsearch are some of the popular tools that integrate with FF4J. Here's a list of all 15 tools that integrate with FF4J.
Decisions about FF4J
Here are some stack decisions, common use cases and reviews by companies and developers who chose FF4J in their tech stack.
devtushit
Software Developer · | 4 upvotes · 13.8K views
Hi, I am trying to implement caching to my FF4J server. I have looked through the documentation with no luck. Has anyone here tried to cache their ff4j feature stores? If yes, would you have a code sample for it? Also, how to test that the api call is getting response from the cache and not from DB? I am using ff4j-spring-boot-starter which gives everything out of the box, so I do not have control over a lot of things.
FF4J's Features
- Feature Toggle
- Role-based Toggling
- Strategy-based Toggling
- AOP-driven Toggling
- Features Monitoring
- Web Console
- Wide choice of Databases
- Spring Boot Starter
- Command Line Interface
FF4J Alternatives & Comparisons
What are some alternatives to FF4J?
guava
The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
Java 8
It is a revolutionary release of the world’s no 1 development platform. It includes a huge upgrade to the Java programming model and a coordinated evolution of the JVM, Java language, and libraries. Java 8 includes features for productivity, ease of use, improved polyglot programming, security and improved performance.
Apache FreeMarker
It is a "template engine"; a generic tool to generate text output (anything from HTML to auto generated source code) based on templates. It's a Java package, a class library for Java programmers.
RxJava
A library for composing asynchronous and event-based programs by using observable sequences for the Java VM.
Jackson
It is a suite of data-processing tools for Java (and the JVM platform), including the flagship streaming JSON parser / generator library, matching data-binding library (POJOs to and from JSON) and additional data format modules to process data encoded in Avro, BSON, CBOR, CSV, Smile, (Java) Properties, Protobuf, XML or YAML; and even the large set of data format modules to support data types of widely used data types such as Guava, Joda.
Related Comparisons