The fine folks at the Adobe CF blog posted a blog entry today, on “Sometimes ColdFusion services refuse to start normally post server restart” (by Rahul Upadhyay), which offers some helpful information on one possible solution to the stated problem.
That said, there are some concerns I have, with respect to how I fear some may read and take action based on it (especially the notion of deleting the cfclasses files, as a possible solution to the problem). I’m not contradicting Rahul, just elaborating on some points, as someone who (like them, perhaps) helps people with CF server troubleshooting every day.
I started to write these thoughts as a comment there, and (as often happens) it grew long so I thought it better to be a blog entry rather than a long comment, and point people here. Once I did that I decided to go further still, hoping to really help those interested to consider the issue more carefully. (It also gives me a chance to highlight again the Adobe CF team blog, something I recommend EVERYONE reading this should follow!)
By Charlie Arehart
Has this happened to you? You follow some resource on the web showing how to update the JVM CF uses to a new version, and then wham, CF won’t start. And now you may be stuck wondering, “what happened? how am I supposed to fix this?”
It’s a tragic position to be in. (I was tempted to title this, “Help. My JVM has fallen and CF can’t get up”, but I fear that dated and veiled 80’s reference would go over the heads of many of my readers.)
The thing is, there are several reasons why your attempt to update CF’s JVM can fail, and fortunately I can offer several things you can look at to hopefully quickly recover from or undo things. If you’re interested, read on.
Ok, so that’s clearly not my sentiment but rather that of a certain “Simon” (no other identifying info offered) in a blog comment in one of the recent CF team blog entries.
After complaining about how poorly he felt CF had responded to his seeking help, he threw in additionally that “the existing private consultants prices are a total joke – they are taking us for a ride!”.
Well, I just couldn’t let go his comment go unremarked.
I started to write my reply there, but it grew long (as is my wont). But rather than post there (where most comments are brief), I decided to post it here instead and point to it there. Perhaps some of my readers here may appreciate it as well, as I also talk about some thoughts on CF troubleshooting in general.
Have you ever faced the challenge of needing to migrate the CF Admin settings (datasources, mappings, scheduled tasks, etc.) from one machine to another? You may know of a couple of solutions (the CAR mechanism and the “import wizard” which runs at the end of installation).
But what if those solutions don’t work for you? Or what if you didn’t know of them before installation, and now you have dozens of dsn’s, scheduled tasks, mappings, or other settings you want to get from one machine/release to another?
You are NOT stuck having to manually copy settings from one screen to another! (And you should be very careful about the common hack solution of copying neo*.xml files from one instance to another, which may not always work and may break things.)
In this entry I’ll discuss how you CAN indeed import the CF admin settings from ANY release of CF into ANY OTHER release of CF, in a fully supported way, and which CAN be done even after installation of a new CF release.
I’ll also mention an important potential gotcha to beware, as well as how to to get around that.
Here’s a nice surprise for some about a change in CF11: you can now create and read CAR files (ColdFusion archive files, a CF Admin feature) in the STANDARD edition of ColdFusion 11. In prior releases, it was available only in ColdFusion Enterprise.
Read on for more, including a gotcha regarding importing from previous release Standard editions, but for many this news will be a delight and all they need to know.
For more on what the CAR mechanism is, finding more on it, the gotcha (and what NOT to do if you hit that gotcha), and info on still more hidden gems in CF, read on.
What the CAR mechanism is for
I don’t want to rehash what’s already well-documented in both the CF docs and various blog entries and articles, so I’ll point to those in a moment.
But briefly, the CAR mechanism has been a feature in the CF Enterprise Admin “Packaging & Deployment” section, and it allows one to easily export some or all settings of one CF admin into a single zip file (a “.car” file), which can then be imported into another CF admin. It’s a point and click interface (though its UI has its challenges, so see the resources below to better understand it before trying to use it.)
It can be great whether you are moving settings from one machine to another. It can even help with migration of settings from one release to another, though CF does that for you if you install a new release on a machine with an old one, in which case the Migration Wizard option is offered as a last step of installation.
If you didn’t catch it, Adobe has come out with a prerelease version of the pending Update 3 for ColdFusion 11, which (like update 14 for CF10) adds many things:
- bug fixes (over 160)
- support for new OS’s, databases, application servers, and web servers
- support for Java 8
- as well as updates to underlying technologies like Tomcat (now 7.0.54)
Note that while Tomcat is automatically updated, Java is not. That’s up to you to do. They do indicate that after the release, new installers for CF11 will come with Java 8. (If you’ve not updated the JVM that CF uses, it’s really pretty easy. 5 minutes work and a restart of CF, and easily reverted if you do things carefully. One of the best and relatively recent discussions of the steps is this article from good ol’ Ben Forta, from 2013.)
See the blog entry above for more on the details of what’s changed (it links to 2 PDFs, and the release notes has some known issues, albeit with little context). The blog entry also has the steps to follow to apply the update. Do be careful there.
Do test out the update yourself
It’s important that folks who rely on CF11 try the update out (on non-production systems, of course).
Many decried that CF10 Update 14 came out and had issues, so Adobe is providing this prerelease for people to check it out and iron out the kinks.
Of course, some will then say Adobe’s using users as guinea pigs. They’re damned if they do, damned if they don’t.
And yes, of course one could say “well they could do a better job vetting the release”. It’s complex software, and while all software has bugs, complex software can even more, and especially when CF has lots of integration and moving parts, and there are so many different platforms–and different ways that even folks on the same environment may configure things differently (For instance, even if you’re on Windows, what version? and what edition? and what database server? And what version and edition of that? And are you using IIS or Apache? And what version of Java are you using? Which edition of CF? And how have you configured each of these? Do you see all the permutations?)
So really: test it out for yourself, for your environment. You can wait and see if “others do the dirty work first”. But what if that’s how most respond? And what if your situation is just a little different than the few who may try it out?
Still, do keep an eye on comments in that Adobe blog entry over time, to learn from any challenges that others may face.
By Charlie Arehart
Charlie Arehart’s Blog / Finding ColdFusion installers, updaters, hotfixes, and docs for all recent releases
Finding ColdFusion installers, updaters, hotfixes, and docs for all recent releases
Many folks have been confused by the fact that they can seem to only find ColdFusion 11 installers on the Adobe site. There are a variety of reasons for that (not all as nefarious as some may feel).
Find CF installers, updaters, and docs for past several releases
The good news is that if one wants to find ANY installers for most ANY version of CF, they can be found on an external repository setup by Gavin Pickin (and added to by myself and others, to include updates, hotfixes, and docs):
Gavin Pickin’s ColdFusion Downloads / Install Repo
If it helps, you can also access it using the easier to remember: http://bit.ly/cfdownloads
What happened to tinyurl.com/cfdownloads?
If you’d not heard the news, there were several updates released today, for CF 11, 10, and 9.
As for CF11 and CF9, it’s mainly a security update. For CF10, it’s got quite a bit more. (And there is another update for CF11 to come in the future which Adobe mentioned when it came out with its first update last month.)
For more on each, see below.
Adobe has also posted a blog entry about the update, and if you have questions or concerns about it (that should be seen by them), it would be best to raise them there, as they may not see them here. I welcome comments otherwise, of course.
As many of my readers know, I’m a big fan of the FusionReactor server monitor for ColdFusion (and Railo, BlueDragon, Tomcat, and indeed any Java server). I help people use it every day (just like I also help people leverage other CF monitors like the CF Enterprise Server Monitor and SeeFusion).
One of the most important features is the stack tracing feature, used to understand what’s holding up a long-running request.
And the folks who make FusionReactor asked me to do a several-minute video demonstrating it, and they have posted it on their youtube channel:
Well, it’s that time again. Later this week is the second annual ColdFusion Summit, put on by Adobe. Last year, just prior to the summit, I posed the question What’s Wrong With ColdFusion. The feedback was immediate, and intense, with many people weighing in with their thoughts on what could be done to progress ColdFusion, both as a platform and a language.
Unfortunately, last year I wasn’t able to attend the summit, and development of the ColdFusion 11 server was nearly complete, so most of that feedback had zero impact on the new release. While their were many advancements in security and JSON processing, some of the other introductions were seemingly underwhelming, or even unwanted, to many long time CF developers.
Now, to be fair to Adobe, and the ColdFusion product development team, they do have a responsibility to cater to their paying customers. Developers are rarely the ones buying the server itself, and the money handlers buying the server licenses rarely have enough real understanding of the development process to truly provide reasonable feedback when asked “What do we do next?”