I am glad to announce WireBox 1.1.0 to the ColdFusion community. We have definitely received tremendous feedback on WireBox and have been able to complete this release based on great feedback and over 15,000 downloads since its release February 21st. For those o...
This video shows the basics of setting up a "Binder" with WireBox and how to setup mappings and alias using the WireBox DSL for super simple dependency injection that is easy to read.
Again, this is not even scratching the surface of what the binder in WireBox can do. Below are some other simple changes you could make to the binder or ways you could do injection
So this line
.initArg(name="daoPath",dsl="id:daoPath");Could change to
.initArg(name="",ref="daoPath") //refpoints to an id directly
as one possible alternative, so if we wanted, we could remove the .initArg and do it via annotations
function init(required daoPath inject) or
function init(required daoPath inject="id") or
function init(required daoPath inject="id:daoPath")
This video shows how to download and install the WireBox framework and offers super simple example of dependency injection using WireBox without any configuration or messy XML.
Again, this is not even scratching the surface of what WireBox can do, but I wanted to get you started and thinking. More screencasts will be following to help you go deeper into how WireBox can help you in your development.
I am super proud to announce our newest member of the ColdBox Platform: WireBox.
WireBox is our new addition to the family. It is our enterprise dependency injection and AOP framework for ColdFusion 8 and above. This project has been part of ColdBox since its earl...
I ran into a strange error yesterday that I couldn't seem to find out what was happening.
I was getting coldfusion.runtime.TemplateProxy cannot be cast to java.lang.String when trying to save an entity using ColdFusion ORM.
Google was turning up nothing, so I started systematically removing lines of code. It started working when I removed the line that did an entityLoad on a different object. What was weird was I was just using that object to get a bit of data and not even for the object I was saving that caused everything to go boom, and if I removed the save, everything worked fine. Then I remembered that the Hibernate session is affected so I took a deeper look at the entity that a loaded. Sure enough, I was autowiring a property and didn't have persistent="false" on that property, causing it to throw the "coldfusion.runtime.TemplateProxy cannot be cast to java.lang.String" error.
Changing it from something like this
property name="shippingOriginationZip" inject="coldbox:setting:shippingOriginationZip";
property name="shippingOriginationZip" inject="coldbox:setting:shippingOriginationZip" persistent="false";
fixed it all up. Of course, like all coding solutions happen, this was in the middle of the night when I was no longer working on the code that this came to me.
So remember folks, if you have a property in an persistent CFC that is not persistent, be sure to say so!
I am super excited to announce the ColdBox Platform 3.0.0 M6 release! Why? Because it holds one of my favorite subjects......Caching! With this release we complete yet another standalone framework cycle with the introduction to CacheBox. However, we won't delve too much on CacheBox in this post as it is deserving of its own, so the next post is the announcement of the release of CacheBox 1.0. However, the major part of this release is CacheBox, so lets introduce this bad boy: