Creating and Verifying ColdFusion MX 7 Datasources using the Admin API

The ColdFusion MX 7 Admin API can be used to create new datasources or modify existing ones in a supported, programmatic manner. Its useful to verify the datasource once created or modified, however the Admin API does not provide the error detail should verification fail, rather it only provides a boolean true or false result.

To obtain error details for failed datasource verification for a datasource created or modified through the Admin API, the ServiceFactory's DataSourceFactory can be invoked to call its verifiyDatasource() method instead. While this is not an optimal solution since the ServiceFactory methods remains unsupported, the Admin API is essentially a supported wrapper for the ServiceFactory anyway and much has been written about using ServiceFactory to manipulate ColdFusion server configuration. Here, the use of ServiceFactory is read-only, and is not used to make changes, but simply to verify a datasource to get to the error.

One bug to watch out for is that the timeout value for a new datasource is set in seconds, although when browsing the generated CFC metadata for the Admin API the timeout is described incorrectly as minutes.


CFMX 7.01 does not configure Verity to start after a reboot on Solaris

ColdFusion 7.01 for Solaris does not properly install the System V init scripts for cfmx7search (Verity K2). The source of the problem is that a file cf_root/bin/cfmxsearch is created and the file should be named cfmx7search instead. The script used to install the System V scripts to /etc/init.d and the rc.N directories is hard-coded for $CF_DIR/bin/cfmx7search, and the System V script for cfmx7search is not created. This causes the Verity K2 server to not start after a reboot.

A short term solution is after ColdFusion installation to create a symbolic link cf_root/bin/cfmx7search pointing to cf_root/bin/cfmxsearch, and then run cf_root/bin/ install-verity System V scripts.

ColdFusion MX 7.0 wrote the filename cfmx7search correctly, so this is a new problem in 7.01.


Funny thing happened on the way to work today

... I stopped by a VUE testing center to earn the Advanced Certified ColdFusion MX 7 Developer status. On a whim last night I signed up for a test first thing this morning on my way to work.

In 2001 I read the complete ColdFusion 5 Certification Study Guide and completed all 9 test exams in CF Buster before getting the Adv CF5 Cert Dev, but this time I thought why not just take a whack at it to see how I do cold.

This makes the 4th certification this quarter, also including:

Photographs of the Maine Coast, and My First HDR Image

My wife and I spent this past Memorial Day weekend driving through mid-coast Maine, stopping in Camden, Rockland, Pemaquid Point, Damriscotta, and South Freeport. The Maine coast incredibly beautiful, and we loved the not only the winding tidal channels that spill out into the rocky shore but the many rolling, green meadows that blanket the horizon with lush grass and wildflowers. We took some time to photograph Camden, which seemed very cozy and friendly, and not much different than Rockport, Massachusetts. The next day we had a photo session at Pemaquid Point, best known for its lighthouse and bell house with its Stephens Striking Machine to sound the bell in foggy conditions.

My Photo Gallery of Coastal Maine


The Butterfly Place in Westford, MA - A Photo Gallery

The Butterfly Place [map]
The Butterfly Place is an indoor living environment which has been carefully designed for the propagation and development of some of natures most colorful living creations. This wonderful man-made habitat is contained within a 3,100 sq. ft. glass atrium building towering to a height of over 27 ft. at its peak. Within this atriums living butterfly environment can be found a variety of colorful plants and shrubs, each of which has been selected as a source of nectar for the butterflies.


Configuring the Caching of Hostname Resolution for ColdFusion MX

ColdFusion network protocol tags such as CFHTTP, CFFTP, or CFLDAP will cache hostname-to-IP address resolution because this behavior is built into the default security properties of the JVM.

For example, if your local intranet DNS server or hosts file returns the IP for a lookup of hostname, and a CFHTTP call was made for the page, then for every subsequent CFML network protocol tag that attempts to access the IP will be used, until ColdFusion is restarted.

But what happens when one of the Network SysAdmins changes the DNS A record so that now points to a slightly different IP address of ?


Free Online Java and J2EE Courses from

Sang Shin, architect, consultant, and evangelist of Java Technology for Sun Microsystems offers free online courses in Java Programming and J2EE Development. Fortunately for me, Sang is teaching the Introduction to JSP course at Boston University where I've been taking night classes this year towards a Java and J2EE Certificate.

Sang Shin is presently working for Sun Microsystems as a Technology architect, consultant, and evangelist. He speaks on various Java and Solaris related technologies to worldwide developer audience. He is currently based in Boston area and his duties include evangelizing and consulting on important Java technologies such as Java EE (formerly J2EE), Java SE (formerly J2SE), Java ME (formerly J2ME), Web-tier frameworks and technologies such as JavaServer Faces (JSF), Struts and AJAX, and SOA and Web services technologies. He also speaks frequently on NetBeans IDE and platform. He frequently talks on these topics in various technical conferences.

At Java Passion you can find the course material for his online courses, and instructions on how to enroll to receive personal guidance for the courses. Sang has a fantastic teaching style. He's very articulate, adheres to proper Java vocabulary and nomeclature, responds patiently, and of course, teaches passionately. The free, online course material is highly annotated so they could be used as reading material, and they are based on Sun's Java and J2EE tutorials on Sun's website, such as the Java EE 5 Tutorial, J2EE 1.4 Tutorial, and the JSP by Example Tutorial.

Making ColdFusion MX on Mac OS X use JVM 1.4.2 instead of JVM 1.5.0

If you're running ColdFusion MX and you've installed the Java 5 update for Mac OS X during one of the regular prompts to install software updates then you will encounter problems because ColdFusion MX 6 or 7 is not supported to run on Java 5, but only Java 1.4.2 at the highest.

There is an easy solution to this problem. You'll find that previous versions of the Java VM are still installed on your Mac, but they are simply not the default.

view plain print about
1mymac:~ stevenerat$ cd /System/Library/Frameworks/JavaVM.framework/Versions/<br/><br/>mymac:/System/Library/Frameworks/JavaVM.framework/Versions stevenerat$ ls -l
2total 40
3lrwxr-xr-x 1 root wheel 5 May 1 12:35 1.3 ->
4drwxr-xr-x 8 root wheel 272 Apr 2 2005 1.3.1
5lrwxr-xr-x 1 root wheel 5 Nov 14 2005 1.4 -> 1.4.2
6drwxr-xr-x 8 root wheel 272 May 17 10:55 1.4.2
7lrwxr-xr-x 1 root wheel 5 May 1 12:35 1.5 -> 1.5.0
8drwxr-xr-x 8 root wheel 272 Apr 6 14:13 1.5.0
9drwxr-xr-x 6 root wheel 204 May 1 12:35 A
10lrwxr-xr-x 1 root wheel 1 May 1 12:35 Current -> A
11lrwxr-xr-x 1 root wheel 5 May 1 12:35 CurrentJDK -> 1.5.0


Completed Certificate of Java Development at Boston University

This week marks my completion of the Boston University training program for the Certificate of Java Development. This is the first half of a Master of Java and J2EE Certificate Program. The Java program alone consists of three courses at the Introduction, Intermediate, and Advanced levels. Each course ran 3 hours on two nights a week for four or five weeks. This totals about 85 hours of lecture over three and a half months. Here are some key thoughts about my experience in the BUTrain Java Certificate program:


IllegalAccessError, CFMAIL attachments, and CFX_SOAP.jar improperly installed

For several days now I've been trying to get to the bottom of the error:

view plain print about
1"Error","jrpp-0", tried to access class javax.mail.internet.ContentDisposition from class coldfusion.mail.RFC2231Util The specific sequence of files included or processed is: C:CFusionMX7wwwrootcontentdisposition.cfm, line: 2
2java.lang.IllegalAccessError: tried to access class javax.mail.internet.ContentDisposition from class coldfusion.mail.RFC2231Util
3    at coldfusion.mail.RFC2231Util.setFileName(
4    at coldfusion.mail.MailImpl.setAttachment(
5    at
6    at coldfusion.runtime.CfJspPage._emptyTag(
7    at cfcontentdisposition2ecfm1804490529.runPage(C:CFusionMX7wwwrootcontentdisposition.cfm:2)


Previous Entries / More Entries