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

Ortus & BoxLang July Recap 2026

Ortus & BoxLang July Recap 2026

July continued to showcase the rapid evolution of the Ortus ecosystem with major BoxLang releases, innovative developer tools, and expanded AI capabilities. From new runtime features and cloud-native integrations to practical learning resources and technical deep dives, this month's highlights reflect Ortus' commitment to building modern, high-performance solutions for the JVM.

The month also featured community initiatives, conference resources, and international events, including CFCa...

Victor Campos
Victor Campos
July 31, 2026