Legacy App Issue

Hi

I wanted to convert our existing site to Coldbox Platform one by one page.

I have tried to setup but it is getting some error. I did search on google if anyone else had the issue but i didn’t get any success.

I have created a App using install coldbox and app and uploaded to our server in Subdirectory where our website is hosted.

I have also done mapping for coldbox.

But i am getting below error when i try to run the file through our Link. eg. http://domian.com/coldboxdemo/index.cfm

I have attached the error which i am getting.

Can anyone please help.

Thanks in Advance.
Pritesh

Hi Pritesh,

I’m a ColdBox beginner myself, but it looks to me like you might be using a version of ColdFusion that your version of ColdBox doesn’t support.
The error points to an ‘Elvis operator’ used in the ColdBox core. These weren’t available before CF11, so I’m guessing you’re trying to run the latest version of ColdBox on CF10.
You might have more luck with ColdBox v4 - although I’m not sure if it’s available for download.

Gary

You can download any released version from Github

https://github.com/ColdBox/coldbox-platform/releases

Thanks Sana and Gary.

Actually i was using latest version on coldfusion 10.

I have download and used the coldbox 4.3.0.

I am using below code in my application.cfc to handle my old and new url.

`

public boolean function onRequestStart(String targetPage){

// Map physical files to events
// This will allow the old URL for the about page to remain unchanged from the URL.
// This is just an example to show how to do this in case you CAN’T break book marks.
// Of course, URL rewriting wold also be a valid way to solve this too.

fileEventMap=StructNew();

fileEventMap = {
‘/about.cfm’:‘main.about’,
‘/products/coldbox.cfm’:‘products.coldbox’

};

if(StructKeyExists(fileEventMap,arguments.targetPage ) || ( arguments.targetPage == ‘/index.cfm’))
{

if( StructKeyExists(fileEventMap,arguments.targetPage ) ) {
url.event= fileEventMap[arguments.targetPage];
}

// Verify ColdBox is loaded
reloadChecks();

processColdBoxRequest();
// Returning false prevents the legacy code from also kicking in
return false;
}

// Else proceed to legacy code
return true;
}

`

But I am getting below error .

When i open about.cfm. It is not taking the code based on handler specifed by
url.event= ‘main.about’

I am getting "Type: HandlerService.EventHandlerNotRegisteredException " error.

Can you please help me with this.

The same code is working thrugh commandpromt “Server start”

Is this still an issue? I really can’t follow exactly what you’ve done or what your code looks like. Note, ColdBosx 4.x runs on Adobe CF 10 but the sample app itself may not. It’s been a long time since I wrote that. I would recommend some good old fashioned debugging on your end.

Also, the Github releases page is not the recommended way to install old versions of ColdBox. CommandBox is:

install coldbox@4.x

I have setup coldbox to existing website.

But i am facing one issue which i am not able to find what may be the problem.

The coldbox stuff is working . But after some time it suddenly stops. and give below error.

HandlerService.EventHandlerNotRegisteredException

If i reinitialize the app again then it starts working fine.

Right now i need to Reinit app again and again which is not good.

Can you tell me what may the issue with this ?

Please help me i am stuck badly on this.

Thanks in Advance.

Every page in the site gives this error, or a specific page gives this error? Does every hit give the same error or does it just happen once?

I’ve never seen that behavior. I’ve seen that error, but only when I try and hit an event that doesn’t exist. I’ve never seen an event “disappear” from the framework. I would check and make sure you don’t have any development settings enabled like auto reloading config or modules as those settings are not for production use.

All the pages are working fine. Only the page which i have used to work with coldbox is giving this error.

I have used below code to consider below pages as coldbox

`

<cfif StructKeyExists(fileEventMap,arguments.TargetPage ) OR (arguments.TargetPage EQ ‘/index.cfm’)>

<cfif StructKeyExists(fileEventMap,arguments.TargetPage)>

<cfset reloadChecks()>
<cfset processColdBoxRequest()>

`

/html/tellafriend.cfm and /twitter/tweet.cfm are suppose to work with coldbox.

This is linking to coldbox and working. But sometime it stops working after 20-30 mins. and give below error

HandlerService.EventHandlerNotRegisteredException

When i am getting this error and if i reinit the application it agains start working.

I am not getting why it is stopped after some time ?

Does the error message tell you the name of the event it’s trying to run?

Hi

I found a strange behavior. Can you please help if you get any idea .

In our application file we have APPLICATION.TIMEOUT set to 1 Min.

So if i access the site after 1 Min it stops working and give me below error.

HandlerService.EventHandlerNotRegisteredException

If i renint the coldbox application again with fwreinit=1 it starts working again.

Then again after 1 Min it will again stop and i will have to reinit the application again.

This is only happening for the pages which i need to make it work with coldbox. Other site pages are working fine.

Can you please let me know what might be the problem ?

That’s the problem! The entire site is wiped out from memory after one minute. That’s why you got an error. ColdBox uses application scope to load its framework.

Setting application.timeout to one minute is very unusual. The question is why you do that? Perhaps, you need to consider other variable scopes.

http://www.learncfinaweek.com/week1/Scopes/

Agreed, there is no reason at all to set an application timeout so small. In fact, I usually set mine to many days. I don’t even want the app to time out, it’s just a waste of cycles to rebuild it in memory again. I don’t know why it’s erroring after it times out, unless you’re missing some reload checks in your onRequestStart().