[coldbox:6746] Did autowiring change from M6 to RC1?

Without being able to see your code, I don't know what to say other than the setup a test bed and dig through the bean factory code and add some dumps in there to see exactly where the getModel's breaking down and not auto wiring in the dependencies.

The bug appears to be in the IOC plugin. If I copy over the M6 IOC and Utilities plugins, the app loads.

Luis, do you have any insight on why the IOC plugin v3.0 might not be autowiring my model objects?

Jason Durham

Jason, can you remind me your issues.
Luis F. Majano
President
Ortus Solutions, Corp

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

I upgraded from M6 to RC1 with no other changes. I’m using Coldspring v1.2 on ACF 8.0.1.

It appears that my Model objects aren’t being injected into other Model objects.

For example, I have a NavigationService which is dependent upon NavigationGateway. CF is throwing an exception saying “NavigationGateway is undefined.”

To recap… M6 works… RC1 doesn’t. If I copy the IOC and Utilities plugins from M6 into RC1, the app works.

Jason Durham

ok, but you are saying you are using coldspring, so are you using both ioc and model injection?

Luis F. Majano
President
Ortus Solutions, Corp

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

Just ioc.

Jason,

Is the following:

<cfcomponent displayname="NavService"
extends="path.to.abstractService">
             <cfproperty name="NavGateway" inject="ioc"
scope="variables" />
             <cffunction name="getNav">
                  <cfdump var="#NavGateway#"><cfabort>
             </cffunction>
</cfcomponent>

A handler?

No, sir. That is a service object located in a /Model folder. BTW, that snippet is missing autowire=true. My real code has the correct metadata.

Jason Durham

That’s the problem. You are mixing coldbox Di with coldspring. Property annotations are coldbox Di only.

In RC I removed the autowire call from the IOC plugin. So it exposes this where people mixed Di engines.

Hmmm. What good is an IOC plugin without an autowire call? On the surface that seems like a thoroughly counterproductive decision.

I’m confused. If you aren’t using Coldbox’s DI engine, then you can no longer use to wire in objects? Was this never officially supported? I’ve read most of the docs and I thought I was using it as intended.

Jason Durham