General

When running my application using Spring Actionscript's XMLApplicationContext I get these kinds of runtime errors: "Error: A class with the name 'XXXXX' could not be found.". What's wrong?

Your class han't been included properly, this documentation section will tell you all you need to know: Forcing Actionscript class inclusion


I see a lot of trace messages reporting constructor errors when starting my application, what's wrong?

These traces come from the as3commons-reflect library, the errors that are being reported are harmless, yet necessary to work around a certain Flash Player bug.

To turn these error messages off you can use this code:

	private static var loggerSetup:* = setupLogging();
	private static var logger:ILogger = LoggerFactory.getLogger("YourAppName.Main");

	private static function setupLogging():void {
		LoggerFactory.loggerFactory = new FlexLoggerFactory();

		var traceTarget:TraceTarget = new TraceTarget();
		traceTarget.includeCategory = true;
		traceTarget.includeDate = true;
		traceTarget.includeLevel = true;
		traceTarget.includeTime = true;
		traceTarget.filters = ["YourAppName.*"];
		Log.addTarget(traceTarget);

		var traceTargetSpring:TraceTarget = new TraceTarget();
		traceTargetSpring.includeCategory = true;
		traceTargetSpring.includeDate = true;
		traceTargetSpring.includeLevel = true;
		traceTargetSpring.includeTime = true;
		traceTargetSpring.level = LogEventLevel.INFO;
		traceTargetSpring.filters = ["org.springextensions.*"];
		Log.addTarget(traceTargetSpring);

		var traceTargetReflect:TraceTarget = new TraceTarget();
		traceTargetReflect.includeCategory = true;
		traceTargetReflect.includeDate = true;
		traceTargetReflect.includeLevel = true;
		traceTargetReflect.includeTime = true;
		traceTargetReflect.level = LogEventLevel.WARN;
		traceTargetReflect.filters = ["org.as3commons.reflect.*"];
		Log.addTarget(traceTargetReflect);
	}
       

My classes that have been annotated with the [Autowired] metadata are not being autowired, what's wrong?
Make sure you have added this compiler switch to your project: -keep-as3-metadata += Autowired
I don't need all of this fancy autowiring functionality on my objects, can I turn it off completely?
You can remove autowiring by setting the autowireProcessor property to null, like this:
      	applicationContext.autowireProcessor = null;
      	

Is it possible to prevent the autowiring process from examining the class metadata for objects that are created by the container?
Add this attribute to your object declaration:
      	<object class="..." skip-metadata="true"/>
      	

Spring Actionscript suffixes my property file URL with a random string to prevent it from being cached, can I turn this behavior off?
Add this attribute to your property file declaration:
      	<property file="strings.properties" prevent-cache="false"/>
      	

Is it possible to skip the postprocessing step in the wiring pipeline for objects that are created by the container?
Add this attribute to your object declaration:
      	<object class="..." skip-postprocessors="true"/>