Trapperkeeper is a Clojure framework for hosting long-running applications and services. You can think of it as a sort of "binder" for Ring applications and other modular bits of Clojure code.
- Overview
- Credits and Origins
- Hopes and Dreams
- Trapperkeeper Quick Start
- Leiningen Template
- Hello World
- Defining Services
defservice
- Service Lifecycle
- Example Service
- Multi-arity Protocol Functions
service
- Optional Services
- Referencing Services
- Individual Functions
- A Map of Functions
- Plumatic Graph Binding Form
- Via Service Protocol
- Bootstrapping
- Built-in Services
- Configuration Service
- Shutdown Service
- nREPL Service
- Error Handling
- Service Interfaces
- Command Line Arguments
- Other Ways to Boot
- Restart File Feature for Determining When Services Have Been Started
- Test Utils
- Trapperkeeper Best Practices
- To Trapperkeeper Or Not To Trapperkeeper
- Separating Logic From Service Definitions
- On Lifecycles
- Testing Services
- Using the "Reloaded" Pattern
- Experimental Plugin System
- Polyglot Support
- Helpful Leiningen Features