> > The "fix" in this case is to delete the compiled > > class, which would be in /WEB-INF/cfclasses. > > Unfortunately, you probably don't have access to > > that directory. > > Since the compiled .class files contain the original > template location as a string (at about byte 100) it > should be do-able for a webhost to provide an interface > from which people can delete these classes. And I presume > there must be some hook into the runtimeservice that > allows you to flush whatever is cached in memory.
Actually, you shouldn't even need to read the content of the class file. The class file name itself contains a hash of the original file name. Matt Liotta posted this to another list recently: "The below Java class should get you pretty close. I know of one special case where it won't work, but the name will be close enough not to matter. import java.io.*; public class FileUtil { public static void main(String[] args) { System.out.println(findClass(args[0])); } public static String findClass(String path) { File file = new File(path); String name = file.getName(); StringBuffer buf = new StringBuffer(name.length() + 20); String className = "cf" + name.substring(0, name.length()-4) + "2e" + name.substring(name.length()-3); int code = file.hashCode(); if(code < 0) code = ~code; return className + code + ".class"; } }" I compiled it, and it worked fine. Just feed it the fully-qualified file path and name as an argument. Thanks go to Matt for that. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting. Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4