JRUN Servlet Error: coldfusion.runtime.CfJspPage.bindImportPath

Posted June 25, 2010 at 12:19 PM by Ben Nadel

Tags: ColdFusion

A while back, Jamie Krug helped me set up my local ColdFusion multiserver development environment in which I could run ColdFusion 8 and ColdFusion 9 instances on the same code base. Jamie was a super fantastic help and everything was running perfectly fine until, seemingly out of nowhere, my ColdFusion 9 instance died. ColdFusion 8 was working properly; but, whenever I tried to run code through my ColdFusion 9 instance, I got the following JRUN error:

ROOT CAUSE:
java.lang.NoSuchMethodError: coldfusion.runtime.CfJspPage.bindImportPath

This morning, after weeks of not being able to fix the problem, I finally uninstalled everything (JRUN and ColdFusion) and started again from scratch. After installing JRUN and deploying my ColdFusion 9 and ColdFusion 8 EAR files, things appeared to be on the up-and-up. Once again, I had both servers running successfully in parallel.

That is, until I broke it.... again.

This time, however, I know exactly what I did wrong: I ran the ColdFusion 8.0.1 Updater. I was only intending to target the ColdFusion 8 instance; but, apparently, the updater alters the underlying JRUN installation which, at the time, was the ColdFusion 9 multiserver compatible version. As such, it looks like JRUN is no longer able to work with ColdFusion 9 code.

Oh well, at least I know never to do that again. An hour wasted, but much wisdom gained.




Reader Comments

Jun 25, 2010 at 2:17 PM // reply »
23 Comments

Bummer! To think of the code you could have been writing instead :) But I'm so glad you identified the cause. I assume you confirmed that you needed the 8.01 update? You can download a current developer edition of CF8, which already has the 8.01 update applied, and create an EAR from that installer. Not cool that it somehow ruins JRun for any other apps running under it :(


Jun 25, 2010 at 2:25 PM // reply »
10,743 Comments

@Jamie,

I finally got everything up and running. I messed up the second time when configuring the web service connector (oops) and had to start over (as I didn't know what was going wrong).

Apparently, 3rd time is the charm. Although, on the 3rd time around, for some reason, the dotnet integration stuff did not install even though I had selected it for EAR creation. I did, however, unselected ALL extra installs for the instance manager (standalone version). Perhaps if the core one doesn't have the services, it doesn't install them in the EAR?

Who knows. Those are stand alone projects anyway so I was able to install dotnet integration afterward (though figuring out where the CF8 root was took a lot of trial an error):

C:\JRun4\servers\cf8-main\cfusion.ear\cfusion.war\WEB-INF\cfusion

... Finally got it up and running, even tested dotnet integration.


Jun 25, 2010 at 2:38 PM // reply »
23 Comments

@Ben, great to hear!


Jun 25, 2010 at 4:08 PM // reply »
22 Comments

Don't know whether this will help, but my colleague Mike Henke has been exploring having multiple cf flavours running on JRun. His blog may help:
http://www.henke.ws/post.cfm/multiple-coldfusion-version-and-engines-on-adobe-coldfusion-with-jrun

That said you may want to dump JRun entirely and use TomCat or JBoss. They're more recent J2EE engines and are faster than Jrun.

regards,
larry


Jun 25, 2010 at 4:37 PM // reply »
2 Comments

I forgot to mention that deployment is much easier on Tomcat and JBoss than on JRun. Its much simpler deploying a war archive or an exploded war file than the ear deployment that JRun uses.

Moreover using the Eclipse Webtools or MyEclipse, you have very fine grained control over the servers.

regards,

larry


Jun 25, 2010 at 4:52 PM // reply »
23 Comments

@Larry,

As much as I love the lightweight servlet containers like Tomcat and Jetty, and also prefer JBoss to JRun, there is still one little trick that only JRun provides (AFAIK). The JRun connector does a slick trick by which it somehow passes along the document root from a fronted Web server (Apache or IIS). This means you need only specify an application's Web root in one place, the virtual host of your Web server.

To the best of my knowledge no other setup allows you to do this. You generally need to configure each virtual host on both the Web server (e.g., Apache) and the Java application server (e.g., JBoss).

In the world of Java Web apps, it's very common to configure a virtual host in your Java app server, and to deploy a full EAR or WAR for each app. But many ColdFusion developers are very accustomed to all that "magic" happening whereby one Java Web application (one ColdFusion EAR/WAR) can power many virtual hosts without duplicating virtual hosts or littering Web roots with WEB-INF folders.

I'm fairly certain that one might be able to, for example, place the ColdFusion 9 jars in a common class path of JBoss and configure the necessary CF descriptor in the global/common Web descriptor file (web.xml) of JBoss, but I've yet to spend the time fighting through it myself. It's fairly well documented on how to do this with Railo and Open BlueDragon. But for ACF, outside of using JRun, you're expected to run one CF application (Web root, virtual host, etc.) per EAR/WAR deployment of ColdFusion.

The options are seemingly endless, and there are lots of pros and cons and potential confusion, but it's powerful stuff!


Jun 25, 2010 at 5:02 PM // reply »
10,743 Comments

@Larry,

Thanks - I'll check out Mike's post. I'm very new to this stuff, so it's sort of all greek to me. Although, slowly, after my 3rd install this morning, it's starting to sink in :)


Jun 25, 2010 at 7:43 PM // reply »
2 Comments

Something else that may help if you go for the jBoss route (its more easier to put multiple different instances on jBoss) is to use exploded War files. Steve Brownlee has an excellent tutorial on running CF on Jboss,
http://www.fusioncube.net/index.php/coldfusion-on-jboss-standalone-primer

regards,
larry


Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
InVision App - Prototyping Made Beautiful With Prototyping Tools Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
May 16, 2012 at 8:18 PM
Best Of ColdFusion 10 Contest Entry - HTML Email Utility
Just found this, looks good! I'm trying to run it on local, it's the 64bit version and I'm experiencing horrible lag. On average the generate.cfm processes the content change in 60-90 seconds. I've ... read »
May 16, 2012 at 6:40 PM
Maintaining Sessions Across Multiple ColdFusion CFHttp Requests
I am trying to integrate this CFHTTPsession into an application that will log into zeekrewards.com to post ads and I am not having any luck. The code works perfectly for logging into other websites, ... read »
May 16, 2012 at 2:44 PM
Creating A Sometimes-Fixed-Position Element With jQuery
Thank you, very useful technique! Worked like a charm. ... read »
May 16, 2012 at 1:58 PM
Movies As A Religious Experience
Acting can, in a way, ruin the movie-goer's experience. I used to be able to get so caught up in movies and their plots, and totally engaged. But lately, I haven't been able to as much with a lot o ... read »
May 16, 2012 at 1:52 PM
The Science Of Optimal Post-Exercise Nutrition
children of this age eat very less vegetables so u can opt for salads they will like it also carrot ,cucumber,onion and as far as pulses are concerned u can boil them ,give him along with mashed rice ... read »
May 16, 2012 at 1:34 PM
Strange ColdFusion JRUN Stack Overflow Error
Hey, Recently I updated my jrun4 using the latest updater 7 and now i am having memory issues :(:(:( any help is appreciated ... read »
May 16, 2012 at 9:56 AM
ColdFusion 10 Beta, Apache Tomcat, And Symbolic Links On Mac OSX
Hi, Now that ColdFusion 10 is out I have stumbled over this as well and I cannot figure out the proper solution. We're running virtual hosts via Apache2; the ColdFusion-applications store their fil ... read »
May 15, 2012 at 6:03 PM
Movies As A Religious Experience
@Ben, I don't know whether you'd consider this a religious observation, but it seems to me, in a sense, movies multiply how many lives we get to have. Each movie is like a little extra life we get ... read »