[coldbox3.6.0-standalone] IOC configuration error

I am having an issue getting a Coldbox installation up an running in a CF9 environment. My current setup is working great on Railo4. I’m not sure where the problem might be, any ideas?

This is the error I receive:

Error: cfResourceBundle2ecfc817869871$funcGETRBKEYS

Template: C:\inetpub\wwwroot\Version130DevCF\coldbox\system\core\util\Util.cfc

Detail:

Error on line: 305 in C:\inetpub\wwwroot\Version130DevCF\coldbox\system\core\util\Util.cfc
Error on line: 578 in C:\inetpub\wwwroot\Version130DevCF\coldbox\system\ioc\config\Mapping.cfc
Error on line: 248 in C:\inetpub\wwwroot\Version130DevCF\coldbox\system\ioc\Injector.cfc
Error on line: 137 in C:\inetpub\wwwroot\Version130DevCF\coldbox\system\web\services\PluginService.cfc
Error on line: 153 in C:\inetpub\wwwroot\Version130DevCF\coldbox\system\web\services\PluginService.cfc
Error on line: 371 in C:\inetpub\wwwroot\Version130DevCF\coldbox\system\web\Controller.cfc
Error on line: 172 in C:\inetpub\wwwroot\Version130DevCF\coldbox\system\ioc\dsl\ColdBoxDSL.cfc
Error on line: 41 in C:\inetpub\wwwroot\Version130DevCF\coldbox\system\ioc\dsl\ColdBoxDSL.cfc
Error on line: 320 in C:\inetpub\wwwroot\Version130DevCF\coldbox\system\ioc\Builder.cfc
Error on line: 584 in C:\inetpub\wwwroot\Version130DevCF\coldbox\system\ioc\Injector.cfc

Type: java.lang.NoClassDefFoundError:

My Coldbox configuration looks like the following:

// Configure ColdBox Application
function configure(){

// coldbox directives
coldbox = {
//Application Setup
appName = “My Application”,

//Development Settings
reinitPassword = “”,
handlersIndexAutoReload = true,

//Implicit Events
defaultEvent = “legacy.index”,
requestStartHandler = “”,
requestEndHandler = “”,
applicationStartHandler = “”,
applicationEndHandler = “”,
sessionStartHandler = “”,
sessionEndHandler = “”,
missingTemplateHandler = “”,

//Error/Exception Handling
exceptionHandler = “”,
onInvalidEvent = “”,
customErrorTemplate = “includes/error.cfm”,

//Application Aspects
handlerCaching = false
};

// wirebox integration
wirebox = {
singletonReload = true,
binder = ‘Intranet.MVC.config.WireBox’
};

logBox = {
appenders = {
// AsyncRollingFileAppender outputs to the C:\inetpub\logs\IC\APPLICATION.log file
application = {
class=“coldbox.system.logging.appenders.AsyncRollingFileAppender”,
levelMax=“DEBUG”,
levelMin=“FATAL”,
properties={
filePath=“C:\inetpub\logs\IC”,
autoExpand=“false”,
fileMaxSize=“3000”,
fileMaxArchives=“5”
}
}
},
root = { levelmax=“DEBUG”, levelMin=“FATAL”, appenders="*" }
};

interceptors = [
{class=“Intranet.MVC.config.interceptors.JSONInterceptor”, properties={}}
];

/**

// custom settings
settings = {

};

// environment settings, create a detectEnvironment() method to detect it yourself.
// create a function with the name of the environment so it can be executed if that environment is detected
// the value of the environment is a list of regex patterns to match the cgi.http_host.
environments = {
//development = “^cf8.,^railo.”
};

// Layout Settings
layoutSettings = {
defaultLayout = “”
};

//Register Layouts
layouts = [
{ name = “login”,
file = “Layout.tester.cfm”,
views = “vwLogin,test”,
folders = “tags,pdf/single”
}
];
*/
}

And my wirebox config:

/**

  • Configure WireBox, that’s it!
    */
    function configure(){

// The WireBox configuration structure DSL
wireBox = {
// Scope registration, automatically register a wirebox injector instance on any CF scope
// By default it registeres itself on application scope
scopeRegistration = {
enabled = true,
scope = “application”, // server, cluster, session, application
key = “wireBox”
},

// DSL Namespace registrations
customDSL = {
// namespace = “mapping name”
},

// Custom Storage Scopes
customScopes = {
// annotationName = “mapping name”
},

// Package scan locations
scanLocations = [“Intranet.MVC.service”],

// Stop Recursions
stopRecursions = [],

// Parent Injector to assign to the configured injector, this must be an object reference
parentInjector = “”,

// Register all event listeners here, they are created in the specified order
listeners = [
// { class="", name="", properties={} }
]
};

//Here’s how to map a binding manually.
map(“adminInfoRepo”)
.to(“Intranet.MVC.repository.admin.AdminInfoRepository”)
.asSingleton();
}

Can you provide us with the full Java stack trace?

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Sure:

Hmm, that doesn’t seem like the correct stack trace. Did you copy that out of the actual error? Are you using the Resource Bundle in your application start? I don’t even see a .cfc or .cfm file in there.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Hi Brad,

It came off of the exception object passed to the onError method of application.cfc – I called getStackTrace() on it. Is there another way to get the stacktrace?

The error seems to be initiated when I call loadColdBox() from onApplicationStart() (The parameters passed to the init method are initialized during the initialization of application.cfc):

//Load ColdBox application.cbBootstrap = CreateObject(“component”,“coldbox.system.Coldbox”).init(this.cbSettings.COLDBOX_CONFIG_FILE, this.cbSettings.COLDBOX_APP_ROOT_PATH, this.cbSettings.COLDBOX_APP_KEY, this.cbSettings.COLDBOX_APP_MAPPING); application.cbBootstrap.loadColdbox();
Like I said, everything seems to work fine with Railo4 but has issues when loaded on CF9. Is there anything you can see that I might be doing in the config that might not be CF9 compliant?

Thanks

Ryan

Hi Ryan Hall,

Seems like CF9 issue more than coldbox, please check which version of CF9 you have, CF9.0.2 works without any issue.

Thanks so much! That worked. I upgraded from 9.0.1 to 9.0.2 and installed the latest hotfixes and now it loads.

Cheers,
Ryan