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.2K GitHub stars and 264 GitHub forks. Here’s a link to FF4J's open source repository on GitHub
Who uses FF4J?
6 developers on StackShare have stated that they use FF4J.
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.
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.
- 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?
See all alternatives
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.
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.
A library for composing asynchronous and event-based programs by using observable sequences for the Java VM.
Serving over 200 billion feature flags daily to help software teams build better software, faster. LaunchDarkly helps eliminate risk for developers and operations teams from the software development cycle.
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.