ColdBox 3.6 - Strange errors

Hi folks,

On my local machine I environment settings in my ColdBox config to set override different elements of the CB config. I don’t force the framework to reload which means that if I make a change to an interceptor or service I need to do an applicationStop() or fwreinit. This is mostly due to performance as I don’t want to be reloading all the DI on every request.

Question 1. If I wanted interceptors and services to be reloaded on every request would I set the configAutoReload to true? or is it another setting? Does this force the entire framework to reload?

Occassionally after two many fwreinits the app starts behaving really badly and sometimes fwreinits don’t even complete which leads me to ControlC and shutdown CF from terminal. When I do this I always see a whack load of errors printed to the terminal which say: Socket closed at Method) at at at net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatReceiver$ 07/26 15:34:50 [Multicast Heartbeat Receiver Thread] ERROR Error receiving heartbeat. Socket closed. Initial cause was Socket closed

Any idea what might be causing this and why the performance of the app basically crawls to a halt?



What does your heap and permgen spaces look like when this happens?

The error stack appears to be a health probe and more of a symptom than a cause. What does a stack trace from Fusion Reactor show the requests are doing when they start slowing down.

In regards to Question 1: have you enabled wirebox.singletonReload=true; in your config? This reloads the singleton scope which should refresh your services. I’m not sure about interceptors though. I think they’re stored as eternal objects in the cache as well as referenced by the InterceptorService. I’ve never looked, but I don’t think singletonReload will affect the framework’s services since they’re stored in the controller at startup.



ColdBox Platform Evangelist
Ortus Solutions, Corp

ColdBox Platform:

Hi Brad,

Thanks for your email on this. I don’t think I’m going to address any further because I actually got a new laptop and have switched to ACF10 and gone are the woes of JRUN. I’m going to keep an eye on this though on the new machine and will be setting up FR5 and ProfileBox.