[Looking for Charlie's main web site?]

Solving CF 8 debugger error: the line debugger could not be contacted, DBGREQUEST

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Folks, if you're trying to use the CF8 Debugger (something I've written about a lot), you may get this error when first setting things up:

Test Debugger Failed An RDS connection was established but the line debugger could not be contacted. The server gave the following message:

DBGREQUEST

javax.servlet.ServletException: Operation not supported: DBGREQUEST

You may be quite stumped, as I was myself, since it's not a terribly informative message. I figured it out, though.

In my case, at least, it's that the default setting when you install the Adobe CF 8 Extensions for Eclipse has the localhost RDS server configuration set to talk to CF on port 8500. If you've installed CF to use the external server, as was done on this server I was helping with, then you need to change that to port 80.

Bottom line: whatever port your CF admin is accessed on, use that in the setup of the RDS configuration in Eclipse.

If you're not familiar with where to find that RDS configuration in Eclipse, see Window>Preferences>Adobe>RDS Configuration (or it may be Window>Preferences>ColdFusion>RDS Configuration). Select "localhost" from the "currently configured RDS Servers" and note the "Server Information" fields now populated on the form. Make sure the settings are correct for the server you're connecting to. And of course, if you mean to connect to a server other than your localhost, you can choose "New" and define different server settings.

These details are discussed in places I point to in the resource discussed above.

Adam Lehman in car accident in London, recovering

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
I just heard news of this on a private list and when searching could find only one entry with confirmation and a few details, so I wanted to pass the news along, in case others hadn't heard. Thankfully, it ends on a relatively encouraging note, considering the circumstances.

According to Mark Drew, who wrote the entry above, Adobe ColdFusion evangelist Adam Lehman was hit by a car Friday night in London, suffering a broken arm and leg. Mark went with him to the hospital, and reported that he'd had surgery on the arm and was due to have it today for the leg.

Mark added, "Hopefully he will be out in a week or two. Even through this, he has managed to Twitter and update his status. So he is doing OK, if a little out of it due to the pain killers."

That's encouraging news and of course we all wish Adam a speedy recovery.

CF/Derby: Some common questions about Derby's suitability for use

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Some of the most common questions people wonder as they first consider using Derby (the embedded database in CF8) are the following: is it a development-only DB? Does it perform and scale well? Isn't it only a single-user DBMS? Is it the same database embedded in AIR? There's a lot of misinformation out there and there are surprisingly positive answers to all these potential criticisms, which I address these below.

I'll also address these points and more in my talk at Adobe Max, in my session "Using Apache Derby, the Open Source Database Embedded in ColdFusion 8", on Tuesday, November 18, from 4:30 pm - 5:30 pm. If you've not yet booked that slot, or are on the fence, I think you'll be VERY surprised to hear all that Derby can do. I'll share some tidbits over coming days.

Is it a development-only DB? How does it perform and scale?

No, it's not just a development DB. First, yes, of course you can build production applications with it (though redistribution would be according to the Apache license). But as for its performance capability, there's in fact a PDF of a presentation comparing Derby to MySQL and others. Still another is available from IBM.

I've heard that Derby is a single-user DBMS

That's a common misconception, and some of it stems from the fact that it can run on its own, embedded in another Java application or server (like ColdFusion), or it can operate using another feature called the Derby Network Server.

Let's look first at the simpler embedded form: Derby itself provides no communications abilities of its own, which helps keep it lightweight. As such, it can't be communicated with from outside applications, indeed it can accept requests from within that same JVM process. Does that mean it's single-user? Of course not. CF (like most web app servers) is multi-user, and IT handles that multi-user processing. Derby itself has no problem processing multiple requests within the CF process. It just can't receive them from outside of CF.

So why might a CF user care about the Network Server feature? Well, if you wanted to talk to Derby from another Java process, then you need it. You may think this applies only to other Java applications on the server or clients, but here's one that may trip you up: an IDE. The ij tool (mentioned later), for example, can't talk to your embedded database without enabling the Network Server.

That latter point, and indeed more on this whole question of "is it a multi-user database or not?" is covered in Chapter 1 of an available Derby book I'll discuss in a later entry, and that chapter is available online (and in pdf form). The discussion of interest here is on the next to last page. I'd like to quote a bit:

When developers refer to Apache Derby as an embeddable database, they are referring to the fact that the Apache Derby database runs within a JVM process. Without the Apache Derby network server, there would be no networking services, data access outside of the embedded JDBC driver in the database engine, or other infrastructure requirements; this accounts for its small footprint.

Understanding what the embedded concept entails is critical when developing applications. For example, one common misconception that developers have when they work with Apache Derby as a standalone database is that it's only a single-user database and does not have communication capabilities. They believe that it is a single-user, single-connection, single-threaded system and develop their applications accordingly. This is not true. Apache Derby as a standalone database can support as many connections as desired, so long as they are established from the same JVM hosting the Apache Derby engine.

For an Apache Derby database to be accessed from a process that resides outside the hosting JVM that loaded the Apache Derby database initially (even if the JVM process resides on the same server), you need to load the Apache Derby network server. Read that last sentence twice to ensure you understand it because it is often a source of confusion for Apache Derby developers when multiple JVMs reside on the same machine. The Apache Derby network server allows for communications between JVM processes. This means that this communication infrastructure isn't solely required to communicate between machines; it is needed even if two different JVM processes reside on the same machine and want to talk to the same database.

Is this the same database engine that's embedded in Adobe Air?

No, that's yet another open source (indeed, public domain) DB, called SQLite (not a typo: it's spelled with one "L"). One may ask why the different Adobe teams chose different open-source embedded DBMSs. It could be that the different groups weren't aware of each other's decision and simply chose what seemed best for them. (Is Derby embedded in CF the same way SQLite is in Air? Well, that seems semantics. Yes, Derby is embedded in CF. The full DBMS is there. Nothing to install. Yes, you have to create a DSN (more later), but that's it.)

Could Derby have been used for Air? Sure. Could SQLite have been used as the embedded DB for CF? It seems so. The two are very similar in being small, embedded, yet highly functional multiuser database engines.

There's a comparison of the two on the SQLite site, though obviously it has a SQLite perspective. For instance, it says "Derby only allows a single process to have the database open at a time in its embedded mode. However, Derby also offers a full client/server mode." That's a common misconception, as discussed in my previous point above.

Signup for my Derby talk at Max

Again, I'll have lots more to say on Derby. But I realize it can be hard to keep up on any blog entry or series of entries. If I've piqued your interest at all, or if you want to show your support for CF (and Derby) talks at Max, consider signing up for my talk. I'll have more to say and show there, for sure. Also, if you have colleagues who maybe don't read blogs, let them know that Derby is a lot more than they may have been led to believe, and have them sign up. The Max folks use signups to measure interest in topics. This may be one that slipped under the radar of many considering talks. I'm just trying to help promote it, while sharing more Derby goodness along the way.

Have you considered using the Derby DB embedded in CF 8?

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
One of the less heralded new features in CF8 is that fact that there is now a DBMS embedded within it, called Apache Derby. Yes, I called it a DBMS. Some have misconstrued it to be some simplistic file-system data file. It's much more (multithreaded, multiuser), and quite capable of being a production DB for you, with far more features and capability than you probably imagined.

I'll be talking about it more at Adobe Max, in my session "Using Apache Derby, the Open Source Database Embedded in ColdFusion 8", on Tuesday, November 18, from 4:30 pm - 5:30 pm.

If you've not yet booked that slot, or are on the fence, I think you'll be VERY surprised to hear all that Derby can do. I'll share some tidbits over coming days.

If you've not yet started to create your Max schedule, please do so. The planners use the information provided to juggle rooms, etc. Derby may not seem like a sexy talk, but I hope you show you there that it's very much worth your attention. It also opens the doors to some interesting that only a DBMS embedded in CF can enable.

Even if you don't want to book your whole Max schedule yet, if you think this would interest you, please add it to your schedule as a start. Thanks.

Adobe announcement: ColdFusion 6, 7, and the end of life of Java 1.4

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Some folks may have missed that Adobe released a technote yesterday that may interest some folks. The good news is that there's no bad news--but you should be aware of the news so that when rumors start running rampant, you'll have information from the source.

Old News, coming to fruition next month: Sun EOL of J2SE 1.4. Adobe's response

Sun has previously announced (in 2006) that J2SE 1.4 (the JVM that happens to underlie CF 6 and 7) would reach end of life in October 2008.

Well that's next month, and Adobe has offered a technote to explain how this affects CFers on 6 and 7 (they don't mention 6, as it's no longer formally supported).

  • Adobe will continue to provide support for configurations requiring this version of the J2SE on a best-effort basis
  • Folks can of course upgrade to CF8, which runs on Java 1.6 (and supports 1.5)
  • FWIW,folks running JRun can also upgrade to later versions of it that support later versions of the J2SE

All that's good news, really, so nothing to get excited about.

Java SE for Business

Sun themselves have also addressed the problem by releasing something called Java SE for Business, which extends the life considerably (up to 15 years), which an organization can license. Adobe has said in the technote that they will be supporting that as well.

So the sky is not falling

All this means that if you hear anyone start some rumor that the EOL of Java 1.4 spells some doom for CF 6 or 7, nip it in the bug. Point them at this technote.

As further testament to why this is not a significant issue, Adobe also makes note there that "Servers running ColdFusion MX 6.x with J2SE 1.3.1 or JRun 4 with J2SE 1.3.1 have historically run without problems long after Sun Microsystems had End of Lifed that J2SE version."

More questions

I imagine some reading this will have questions. I'll say right now that I know nothing more than what I read in the technote. I have no inside information. I just thought we ought to call out the technote so folks knew of it.

But ask your questions, and perhaps another reader (or later, I) will have an answer.

PS I'll grant too that maybe this isn't new information (the Adobe response, and this technote). I only caught it today because I get the feed (as I discussed previously) of new/updated technotes. The technote says it was updated yesterday. They don't say when they're created, so it's possible the technote came out in the past. I just don't recall seeing it. (I wish they would put dates on them for this reason.)

A 12-page Intro/Review of FusionReactor 3

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
If you missed my 12-page introduction and review of FusionReactor 3 in the last issue of the FusionAuthority Quarterly Update, Volume II Issue IV which came out earlier this summer, well, the good folks at the magazine, Michael and Judith, have kindly chosen to post the article online:

FusionReactor: ColdFusion Server Healthcare (and What's New in Version 3) (PDF)

Thanks, folks! I hope it might serve as a useful intro for those who've not seen the tool (whether in its older or newer version), which can be used to monitor CF 6, 7, and 8. That CF8 support is important not only for those running CF8 Standard, which doesn't have the CF8 Server Monitor, and also even for those who can run the CF8 Server Monitor, as there are some useful benefits of using it even on CF8 Enterprise). Note that FR also works with Railo and OpenBlueDragon, as well as BlueDragon/J2EE and indeed any J2EE application (including LiveCycle Data Services) and any J2EE engine (JBoss, Tomcat, WebSphere, etc.)

The article can also serve as a review of features that those already using the tool may have missed, or you can focus on what's new in FR 3 (quite a bit).

Check out the article, and the tool, including the available live demo in addition to the 10 day trial. I'll note that the live demo is running at a lower level of authority (one of the new features of FR 3), so you don't see and can't do all with it that you might as a full admin user.

I'll arrange to do a demo of the tool on an upcoming CF Meetup session, whether on its own or along with other monitoring tools for CF which I've discussed before.

20 bucks buys you considerable training in good development practices

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
I'm sure many readers have seen mention of the upcoming event, A Wee Dram of Scotch. If you haven't taken a look at it, it's shaping up to be quite a good value for getting a considerable amount of training in good development practices, all in one day and for just 20 bucks (10 British Pounds).

They have a great lineup of 7 terrific speakers, presenting on topics that many want to know or know more about: ColdSpring, OO, clustering, Subversion, dev practices, and Railo. And the topics are bring presented consecutively so you won't need to worry about missing a single one. That also makes for an easy read of the web site: it's just a single page, with popups for each talk. Take just a minute to check it out.

Put on by the same folks who run Scotch on the Rocks, I'm sure A Wee Dram will be as fun (and relaxed) as it will be informative. And since I spoke at this year's Scotch event, I say that from pleasurable experience. They've also got a nice lineup of sponsors, who I'm sure are helping make the low cost possible, and who should be thanked. Be sure to visit their booths while there.

(I only wish I could attend, but I've already got a commitment that week, volunteering at the PGA Tour Championship that's held yearly in Atlanta.)

It's being held 2 weeks from this coming Thursday, the 25th, in London. I realize that puts it out of reach for many, but hey, that low price gets you lunch, 2 free drinks, 10% off Scotch on the Rocks 09, and the great lineup of speakers. For folks in the greater London area, it's a no-brainer. And if you'd need to fly in to make it, and your training budget can cover that cost, it's a bargain, a good value, and sure to be a good time as well.

BTW, someone may want to ask, "is it being recorded?" The site doesn't say, so I'd assume not. It's in their interest (and that of the sponsors) to get people to come. Someone else may ask if I could get the speakers to present on the ColdFusion Meetup, and I'd surely like to, but none have offered yet, so do consider going to the event instead. :-)

Announcing CF411.com: your place to find the 411 on things related to CF

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Next time you have (or see someone ask) a question about finding some resource or tool related to CF, first check out CF411.com. :-) It's a list of more than 700 tools and resources in over 100 categories. You might find not just one but many alternatives. I hope this will help folks who might otherwise ask or answer questions on mailing lists, forums, and blog comments where such requests frequently appear.

So what's in it?

It's not a FAQ. Rather, some will recognize this as my long-existing list of tools and resources, which this weekend I decided to rechristen it as CF411. The domain name above simple redirects to that part of my site, now also called: CF411.

Far more than just tools, it also has dozens of categories of resources: CF job resources, self-help resources, professional assistance resources, tutorial sites, conferences, hosting alternatives, certification prep resources, other sites listing CF resources, and much more.

And the tools list has several dozen categories, both those written in CFML (like caching, debugging, file uploading, and code generating tools, as well as CMSs, all the frameworks, and all the CFML engines, to name just a few), and just as many tools not written in CFML but useful for us (including database tools, editors, http debugging, log analysis, load testing, monitoring, and source code tools, to name a few), whether free or commercial.

Like my UGTV, I offer CF411 as a contribution to the community, to save people spending a lot of time looking/asking around for stuff. I hope it becomes another one-stop shop for people to find what they need (well, I use the term "shop" loosely. As always, it's all free).

What's in a name?

I hope the new name will just be easier for people to remember/think of the next time they see a question asked that they know is (or think may be) answered on my list, telling folks: "You should check out CF411."

I was torn about bothering with a new domain name. I didn't need to bother with my UGTV site: you can google that phrase and my site comes up first (even with Microsoft having launched their own UGTV), but I just figured it might be easier for people to reference in conversation, and some might naturally look for a domain name.

As always, I welcome contributions if you think of something (a category or a tool/resource) that I've not listed.

I'll begin blogging again soon to highlight more of the many categories.

Copyright ©2020 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting