Blog

Brad Wood

June 27, 2012

Spread the word


Share your thoughts

 

Many of you using models in your ColdBox app are familiar with how easy WireBox makes it to use the Singleton Pattern for components that are only created once in the life of your app.  
 
map("myService").to("path.to.myService").asSingleton();
 
or
 
component name="MyService" singleton {}
 
This can also be a bit of a pain when you are working on the code inside your singleton objects.  Any changes require you to re-create the singleton object which typically involves a reinit of the framework.  ColdBox has a handy setting for you to use on your development environment called singletonReload.  
 
wirebox = {
        singletonReload = true
};
 
This setting causes WireBox to flush your singleton mappings on every request so your changes show up instantly without having to reinit the entire framework.  Make sure this setting is always off in production!
 
Additional tip: Combine this setting with ColdBox's environement detection to automatically turn singletonReload on for your development environment, but off for production.
 
 
PS: If using Ajax intensive applications beware that concurrency for reloading and flushing the singleton objects is not guaranteed.
 

Add Your Comment

Recent Entries

BoxLang v1.13.0: Compatibility, Concurrency, and Formatter Maturity

BoxLang v1.13.0: Compatibility, Concurrency, and Formatter Maturity

BoxLang 1.13.0 is here, and it marks an important step forward for the platform. This release includes 48 tickets—every one of them completed—reflecting a focused effort on CFML compatibility, a more robust concurrency engine, a production-hardened miniserver, and meaningful tooling improvements.

Luis Majano
Luis Majano
April 30, 2026
🚀 ColdBox CLI 8.11: The Era of AI Skills Comes to Every ColdBox & BoxLang App

🚀 ColdBox CLI 8.11: The Era of AI Skills Comes to Every ColdBox & BoxLang App

ColdBox CLI 8.11 is here, and it's one of the most significant releases we've shipped for AI-assisted development. This release wires the CLI directly into our brand new public skills directory at skills.boxlang.io, brings our AI tooling in line with industry-wide agent conventions, and introduces a wave of quality-of-life improvements that make AI integration feel less like setup and more like infrastructure.

Luis Majano
Luis Majano
April 30, 2026