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 1.17 Series Part 4 : WriteDump Enhanced!

BoxLang 1.17 Series Part 4 : WriteDump Enhanced!

You call writeDump() on an ORM entity or a very rich class graph . The browser locks up. Thirty seconds later you get a page with forty thousand rows on it, you scroll for a while, you give up, and you go edit your code to dump a sub-key instead. Or worse, you crash the server.

Luis Majano
Luis Majano
September 11, 2026
BoxLang AI 3.4 Blog Series Part 4 : Locking Down Prompt Injection

BoxLang AI 3.4 Blog Series Part 4 : Locking Down Prompt Injection

LLM applications face a class of attack traditional input validation was never built for: prompt injection. An attacker embeds instructions in user input, a retrieved document, a web page your tool fetched, or an MCP result, trying to override your system prompt, exfiltrate data, or hijack a tool call. BoxLang AI 3.4.0 ships four layered, configurable defenses against exactly this, plus one more that's on unconditionally.

Luis Majano
Luis Majano
September 11, 2026