Viewing a list of locks in Coldfusion - coldfusion

Is there anyway to see a list of the current locks in Coldfusion (particularly locks on files or directories).
Through a non documented call is fine as this is more for debugging some errors we're getting on our server.
Thanks,
Tom

you might try FusionDebug, while it is commercial they do have a full featured 20 day trial. Also the developer edition of Adobe's coldfusion 8 has a server monitor, though its only for your local instance, unless of course you are running the enterprise edition on your production system.
edit
While FusionDebug is an excellent eclipse based debugger, i think in your case you want the FusionReactor to monitor the system's status.

Related

‘Service unavailable’ on ColdFusion 8 application service

I have often faced the issue ‘Service unavailable’ in ColdFusion website and need to restart the service manually. Sometimes, also need to restart the host computer.
I checked Event Viewer but I do not find any error related ColdFusion.
I am not familiar with ColdFusion.
Kindly help me. I would like to check why it happens and to solve this issue.
ColdFusion Version 8
Windows Server 2008 R2 Standard - Windows 7, 64bit
IIS Version 7.5
Thank you.
To find out what is actually crashing your CF server you may find information in the "out" log. Look in the /runtime/logs directory for a file called "coldfusion-out.log" or something similar. This is where standard out goes in a running CF application. There is also a /logs directory in your application that may give additional information.
Finally, you may have a hotspot error - an abend. Look in the /runtime/bin directory for a file similar to hs_err_pidXXX.log" (where XXX is some number). If you do have such an error take a quick look to see if it is an "out of memory" error. That's the most common.
I have a post on where all those log files are located. It is from the CF8/CF9 days so it may be useful to you. Of course everyone will tell you to upgrade as well. :) Good luck!
There are two places to look with problem like this: the application server behind CF (JRun for CF8) is the connector between CF and IIS. Adobe CF uses old (IIS6?) style ISAPI connectors that may need to be rebuilt - later versions of CF have a 'rebuild connectors' batch file in cfusion\bin\connectors (something like IIS_connector.bat) but it has been a while since I've had CF8 to look at. At the very least, be certain that you have the last CF8 update from Adobe as they sometimes want you to rebuild connectors after installing them.
A better solution for newer versions of CF (10+) is to use Bilal's Boncode AJP connector - I don't think it supports CF8 but haven't tried it.
CF 8's End-Of-Life was over four years ago and later versions stopped using JRun in favor of Tomcat, which is a bit easier to troubelshoot. If you have a development environment available, you might try running your codebase on CF10 or CF11; if you have to support this application for the foreseeable future, better to do it on something resembling a current version of CF. You could also have a look at Lucee 4.5 for an OSS alternative.

Google Drive is showing my application as virus?

I developed my application with Qt 5.2.1 and MinGW compiler.The installer is created with NSIS and doesnt even require admin privilege.
I use blogger as my application's website, and post Google Drive links to download the setup files.
Suddenly Drive is now showing my application as a virus, even though I checked with virustital.com and the Windows anti-virus software.
I have not received any response to the post I submitted on their forum.
So I would like to know if there is any known common cause for this problem and whether that can be resolved.
PS: I have previously used the same Google services for another software that I developed few years ago, but never ran into such issues.
This is probably false-positive alarm.
Sometimes NSIS generated installer is recognized as virus (which is wrong).
Write to the AV company (I am not sure which AV software G drive uses) and report this problem - they should whitelist your software.
Sometimes simply rebuilding the installer helps too :)
Or my last idea is to remove 'dangerous' code from installer: many times inetC and various other internet calls are suspicious.

Migrating From ColdFusion 7 to ColdFusion 11

I'm planning a migration on a server from ColdFusion MX7 (Server 2003) to ColdFusion 11(Server 2012). There is a Other Server Where I need to migrate from ColdFusion 8 (Server 2008) to ColdFusion 11. Does my System effect in any way when upgrading like tags, or compatibility issues. Does anyone know which steps I should without effecting. I know about the code analyzer that we had in Cf administrator. I want to know if there is anything effected seriously when migrating.
Thanks in Advance
Kiran Kumar
The Code Analyzer helps in migrating your applications to ColdFusion 11 from earlier versions of ColdFusion. However, it checks the same for only two versions back. The Code Analyzer reviews the CFML pages that you specify and informs you of any potential compatibility issues. It detects unsupported and deprecated CFML features, and outlines the required implementation changes that ensure a smooth migration.
As far as the code compatibility is concerned, everything "should" work. However, it is recommended to check the code compatibility and deprecated tags (if any). You can refer to https://wikidocs.adobe.com/wiki/display/coldfusionen/Deprecated+Features & https://wikidocs.adobe.com/wiki/display/coldfusionen/Deprecated+tags,+attributes,+and+values.
I have briefly covered the entire Migration process here. So, will not iterate the same. Also, you can have a look at another helpful article for Migration Tweaks.
Having said that all, it's strongly recommended to test your website on the Testing/Development environment, before moving it on Production.
Hope this gives a better picture of the migration process.
I did the migration in the past, did not face important issue, as everyone have a different system the best solution would
- Backup
- Test the upgrade and see
if it's a production machine, you can copy your machine to a vm and test the upgrade there. it's may be a lot of work, but you can not know if you don't test
I am currently moving a ColdFusion 9 site to Coldfusion 11 and the way I tested it was to create a separate set of folders on the ms2013 server. I ran them side by side with a duplicate database with a different name for the test site.
I have moved sites up from 5 to 9 with few issues and the only one that really got me in ColdFusion 11 is dbtype in database functions. It has not only been depreciated but will always throw an error if found.
It also depends on how Coldfusion 11 will react to cfcs and other special tags if you use them. I don't so it was a snap.
Examples:
mydatabase
mydatabase1
mypagesfolder
mypagesfolder1
index.cfm
index1.cfm
Going live was a snap. I just renamed the folders, links*, dsn and renamed index1.cfm to index.cfm.
*Links only need to be changed if posting outside of folder and if so just the path.

How to use Java Mission Control (or other solutions) with ColdFusion (tomcat)

The ColdFusion monitor is great for details about the server itself but it is pretty limited when it comes to the JVM.
How can one implement Java Mission Control or similar JVM monitoring solution to monitor the JVM running ColdFusion while you are developing and testing performance / memory footprint of applications and features?
Note that I am asking this question for "community knowledge" and already know the answer, but feel free to contribute any tidbits about other monitoring solutions.
Mission control used to be bundled as as it's own utility application in the JRockit JDK. Hotspot and JRockit were two entirely different JVMs with their own JDK/JREs. By default, ColdFusion uses the HotSpot JVM. JRockit is basically defunct from new development with some of its features being merged into HotSpot.
Java Mission Control is free for development purposes.
Get started, download the the latest 1.8 JDK. My preference is to uninstall all other 64-bit JDKs and JREs installed at this time.
This step might not be needed. Change your environment variable to update your JAVA home.
a. Right click "My Computer" -> "Properties" -> "Advanced" -> "Environment Variables"
b. Change JAVA_HOME and any other JAVA vars to your new path
Adjust your jvm.config
a. Make a .bak copy of C:\ColdFusion1x\cfusion\bin\jvm.config
b. Add the following lines to the jvm.config
-XX:+UnlockCommercialFeatures
-XX:+FlightRecorder
-Dcom.sun.management.jmxremote.autodiscovery=true
-Dcom.sun.management.jdp.name=ColdFusion10
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=7091
-Dcom.sun.management.jmxremote.ssl=false
Open C:\program files\java\jdk1.8_**\lib\missioncontrol\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info file with administrator privileges and remove the four lines that start with the following text:
org.eclipse.equinox.log.nl_ja
org.eclipse.equinox.log.nl_zh
org.eclipse.equinox.supplement.nl_ja
org.eclipse.equinox.supplement.nl_zh
Edit the C:\program files\java\jdk1.8_xx\lib\missioncontrol\configuration\config.ini, and add the following line: eclipse.home.location=$osgi.install.area$
Start up : C:\program files\java\jdk_1.8.0_**\bin\jmc
Note that JMC is launching from 1.8 while your ColdFusion instance is running with whatever the latest Hotspot version you have installed with your ColdFusion updater.
You can install plugins from the help -> install new software. The plugins site should already be there. This will give you full on memory analysis of a heap dump. It's not nearly as good as the JRockit memory analyzer, but it's better than nothing.
If you are running ColdFusion as a Windows service, you will need to open services.msc and shutdown your ColdFusion Application Server. Then open C:\ColdFusion10\cfusion\bin\cfstart.bat to fire up Tomcat and ColdFusion as a foreground application. The jOverflow plugin will not work when running as a windows service.
You will see your JVM appear in Java Mission Control, mine is call -Xdebug since I guess it has no name and starts with the first option.
Right click on your ColdFusion JVM and select "Start JMX console". You will see something that looks like this show up on the right:
There is a whole lot to explore, including a lot of junk when it comes to examining memory due to having to sift through the ColdFusion Framework itself, but there are a ton of tutorials for deciphering what it means.
This video is your primary introduction: https://www.youtube.com/watch?v=WMEpRUgp9Y4
References:
https://www.youtube.com/watch?v=WMEpRUgp9Y4
http://www.ghidinelli.com/2009/07/16/finding-memory-leaks-coldfusion-jvm
http://www.oracle.com/technetwork/java/javase/jmc53-release-notes-2157171.html (see "known issues" section)

What's the difference between Coldfusion Developer Edition and Enterprise Edition?

I'm trying to test Coldfusion for learning purposes, but I really don't know what is the aditional features that the non-free Enterprise Edition add to the free Developer Edition.
Thanks!
Legally, Enterprise is for public consumption, and Dev is not.
Practically, this means that the Dev edition (which is the same as the Eval edition after the 30? days) is limited to localhost + 1 IP address. That is, it can serve files to localhost and 1 external IP. This IP can only be reset by restarting the service.
Otherwise, your dev install will mimic an ent install completely.
The developer edition of Adobe ColdFusion Server is limited by IP addresses - only the localhost and 1 other IP address can access the server. Any more, and it will throw license exceptions.
Also, printable items such as documents created with cfdocument and cfpresentation are watermarked with a gigantic diagonal banner over each page.
Otherwise, the dev and enterprise editions both have all the features enabled, including advanced debugging and server monitoring, PDF & FlashPaper generation, advanced gateways, 64 bit CPU support and full database drivers including Oracle - the works.
The Trial edition of ColdFusion is the same as enterprise for 30 days, but then drops to be the developer edition after 30 days - once the license has expired. Do make sure you remember to get your serial number in if you put this on production :)
For reference, see Adobe ColdFusion Editions.
The key is the line: "Used for delivering multiple websites and applications on one or more servers"
The Enterprise Edition allows for deployment for commercial purposes.
The Development Edition allows you to develop locally, but not deploy. The deployment requires Enterprise or Standard editions, or purchasing a hosting solution which handles the licensing for you.
Here you go.
Edit: Scroll to bottom for Dev v. Ent. discussion.