practicalli / clojure-web-services

Develop production grade server-side web services and APIs using Clojure and REPL driven development
https://practical.li/clojure-web-services
Creative Commons Attribution Share Alike 4.0 International
11 stars 14 forks source link

Introducting component lifecycle management #12

Open practicalli-johnny opened 4 years ago

practicalli-johnny commented 4 years ago

Overview of lifecycle management in Clojure,

Discuss why and when livecycle management is required

Briefly covering the different approaches taken by Mount, Component and Integrant.

Link to a section and examples of each

component

integrant

Check to see which luminus and pedestal templates use.

Write section on application lifecycle management tools

Application lifecycle management tools configure the many components that are part of an application, such as HTTP server, persistence store access, cache management, passing configuration to routing (db connections, security, etc)

When running an application, lifecycle tools ensure components are configured and started correctly, to provide a consistent startup and clean shutdown of all components.

Some tools also have specific REPL libraries (e.g. Integrant REPL, Component REPL) to support a REPL driven development workflow. These tools can start, restart and stop components in the system or the whole system itself, without requiring the Clojure REPL process to be restarted.

Commonly used projects

Projects to evaluate

Semi-related projects

Resources

Related issues