This is more of an announcement of the upcoming 1.2.0 features.
Since event handler caching will be instilled into the framework, the
performance is dramatic. It actually, does not make sense to be
creating event handlers for each request. So version 1.2.0 will be the
last version to support uncached handlers. The versions after 1.2.0
will have caching of handlers by default. I see no benefit of
not caching the handlers. And they can easily be recreated by using
fwreinit= url command
So. Since event handler caching actually changes A LOT in event
execution. The methods will receive the request collection object,
instead of the handler being injected with it at creation. What does
this imply? Well, mainly the 'rc' scope will become deprecated. You
can keep it, however, you must var scope it locally.
Example:
var rc = arguments.oRC (or whatever the argument is named, still
pending)
Please keep this in mind.
There will also be some changes due to your suggestions, to have a way
to distinguish framework methods from local ones. Most likely, the
oRC object will also hold some extra methods to invoke some external
commands. This is still in the definition process. I guess an example
would be on how to run an event from within an event. Example code:
oRC.getEventManager().runEvent("event", oRC);
I will then run the event and pass in the oRC as you see above.
Please give me your input on these upcoming features. The event
handler caching is a totally different execution process and some
previous version code will have to be altered, but it is for the
common good. You will see the execution differences. You will never
think you are running your application in a framework.
Please give me your input.
Blog
Recent Entries
Coming Soon: Version 4 Docker CommandBox Images with Enhanced Performance
CommandBox Docker images were the first CFML docker images and have nearly 2 million pulls, since their inception, to date. It's been a source of pride at Ortus that these images have been the most popular and reliable way to run CFML in containers and we are so very pleased to announce the next evolution, which will be the v4 images which run entirely on the BoxLang CLI and represent a significant overhaul of the image architecture.
These images are now available to test by appending -snapshot to your existing version tags and wil be released as stable, once CommandBox v6 emerges from release candidate status and is published as stable.
Free observability with BxMCP: give your AI agents eyes inside a live BoxLang runtime
Ortus Solutions today announces that bx-mcp, the Model Context Protocol (MCP) server for BoxLang, is now free for everyone. Install it, point any MCP capable client at it, and your AI coding assistant, IDE agent or automation pipeline can inspect and operate a live BoxLang runtime: JVM, caches, datasources, slow requests, schedulers, logs and more. No BoxLang+ subscription required.
Inherited a CFML Application With Few Tests? Here’s Where to Start!
You need to change an application that has been running for years.
It might be a ColdFusion customer portal, a Lucee application supporting internal operations, or a CFML system your team is preparing to modernize. People depend on it, but some of its behavior lives in old tickets, scattered documentation, and the memory of whoever has supported it longest.
Now a release is approaching. You know more testing would help. The difficult part is deciding where to begin without putting every other priority on hold.
Start with one important workflow and build evidence around what it needs to do.
Add Your Comment
(5)
Feb 06, 2007 03:48:06 UTC
by Sana
Hi Luis,
Does this will work under load balance. If this only session based then websites running on two physical webserver might have problem. just curious to know that each utitlityof ColdBox will not have problem in clustering environment.
Thanks
Feb 06, 2007 12:15:24 UTC
by Luis Majano
Session is no longer in use Sana.
Just application scope. So, this is cluster safe.
More changes are coming, stay tuned.
Feb 06, 2007 15:28:05 UTC
by Sana
Hi Luis,
thats great news, just curious to know what about message plugin, does it will use application scope or not. because i think application scope is the way for clustering environment for these kind of features.
Thanks
Sana
Feb 06, 2007 15:29:47 UTC
by Sana
Hi Luis,
sorry small correction in my question..
thats great news, just curious to know what about message plugin, does it will use application scope or not. because i think application scope is not the way for clustering environment for these kind of features.
Thanks
Sana
Feb 06, 2007 17:02:33 UTC
by Luis Majano
Sana,
The messagebox will now have a choice of storage, either session or client.
This is framework-wide. Or can be changed via the plugin API.
This gives the programmer the option of storage for the messages.