When should tools.jar be updated in ColdFusion Server

tools.jar contains the utilities to compile java source into class files.

While using ColdFusion Web services stubs have to be generated.

So, this utility is required for this feature to be functional.

The tools.jar is shipped by default with ColdFusion along with full
installation of ColdFusion which would be same version of the jre that
ColdFusion is shipped with.

If you are just using this default installation and the built-in jre, your
ColdFusion web services do work fine.

However, due to security bugs or platform support you would want to update
the jre version that ColdFusion runs on.

Once you do that, please make sure to copy the tools.jar file manually from
{JDK_Home}/lib to {cf_install_home}/cfusion/lib/

Only JDK contains the tools.jar file not the jre installation. You don’t
have to install JDK on the machine where ColdFusion is installed. You can just
have jre on this machine and get tools.jar from any other machine’s JDK
installation.

And also make sure that the earlier stubs are cleared from
{cf_install_home}/cfusion/stubs/ to get the newly compiled classes.

It is necessary to update tools.jar ONLY if you are upgrading the jre to a a
higher major version.

Say, if you are upgrading from 1.8 U5 to 1.8 U51 you don’t have to update
tools.jar file.

But, say   if you are upgrading from 1.7 U55 to 1.8 U51, you have to
update tools.jar file.

 

Another case where you would want to update the tools.jar is JEE
deployments.

Say, if you are using Websphere application server with IBM JDK, you have to
place the corresponding JDK’s tools.jar under 
{cf_install_home}/cfusion/lib/.

The same applies to any other application server as well.

The simple rule is that tools.jar has to be from the same major version of
Java (minor version doesn’t matter) that ColdFusion runs on.

 

This applies to any version of ColdFusion and the same applies to all platforms.

You can copy tools.jar from Windows machine to Solaris macine as well as long as the version is correct.

 

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

 

Some of the factors that help in deciding the memory that application needs

Would like to explain the some of the factors that
decide how much maximum memory that an application needs.

Here are two examples. One is with cffile upload action
and the other is with cfpdf thumbnail action.


Sometimes, while uploading large files using cffile
with upload action (<CFFILE ACTION= “UPLOAD”) you would have run
into the following error

“500 – Internal server error.

There is a problem with the resource you are looking
for, and it cannot be displayed.”

 

File upload is dependent on “Maximum size of post data”
value that you can set in ColdFusion Administrator.

However, it can’t exceed the total available free
memory.

Say, if 512 MB is the Xmx memory value (jvm.config) and
350 MB is already occupied by the application, even if “Maximum size of post
data” value is set to 200 MB, it can upload files of up to ~150 MB (512 MB- 350
MB).

It can’t upload files of size 200 MB.

To fix it, Xmx should be increased which is again
subjected to the available memory in that machine.

 

Here is other example:-

Say, you are using CFPDF’s Thumbnail Action and the
thumbnails background is not generated properly.
Here the issue would be insufficient memory.

        Just to hold the decoded image data,
java application needs large memory (say 1.2 GB depending on the image pixels).

It is because of the format and high pixel nature of
the image that is being converted. Number objects created are equal to the
total number of pixels in that image.

So, high pixel imge would consume more memory.

To fix this, Xmx value in jvm.config should be at least
-> Applications memory Size + 1.2 GB (from the above example) i.e.
a minimum of 1.5 GB and can be more depending on your application.

Changing the value and restarting the server would
fix this.

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:”Table Normal”;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:””;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:”Calibri”,sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}

Configuring JNDI Data sources in ColdFusion

For configuring JNDI data sources, it should firstly be supported by the
application server.

Tomcat server, which is built-into ColdFusion server, has the support for
this by default.

While there is a blog Here on this how to configure, I want to explain few mistakes
that are tend to be done while configuring. 

  One common mistake generally done is:-
  When the data source is configured from the ColdFusion administrator by
providing irrelevant    username/password.
  You may tend to provide Database’s username/password. This is NOT
Database’s username/password.
  It is the application server’s username and password on which data
source is configured.
  It should be left blank when the credentials are not required by the
server.

Prepending java:comp/env/ is required for the actual JNDI name that is
registered in xml while registering the name in administrator.

It is not mandatory that you register the JNDI data source in ColdFusion administrator.

As long as the app server supports JNDI, you can invoke the data
source that is configured in the application server in cfm source code directly
either in case of standalone installation or EAR/WAR deployment.
But for consistency and preferred names that can used in ColdFusion should be
registered in ColdFusion.

This is applicable to both ColdFusion 10 and ColdFusion 11.

 

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:”Table Normal”;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:””;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:”Calibri”,sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}

Setting up ColdFusion in distributed envionment

You might want to set up ColdFusion in a distributed environment where ColdFusion is running on one machine and Web server is running on a different machine.

Following are the set of steps that have to be performed to achieve this (less error-prone):

This applies to both ColdFusion 10 and ColdFusion 11.

1) Have ColdFusion server installed in a machine.

2) Next thing is to download and install VC Runtime.

             – The version of VC Runtime that you have to install depends on the version of ColdFusion.

                Say, ColdFusion 11 needs VC Runtime 2012

                 (32-bit VC Runtime for 32-bit Web server and 64-bit VC Runtime for 64-bit Web server.

                  If you are not sure, you can install both)

                 (https://www.microsoft.com/en-in/download/details.aspx?id=30679)

                and ColdFusion 10 needs VC Runtime 2010

 

3) Copy the following contents from the machine where ColdFusion is running to the machine where Web server is running at the same location.

 C:ColdFusion11jre

 C:ColdFusion11runtimelibwsconfig.jar

 C:ColdFusion11runtimeconfserver.xml

C:ColdFusion11configinstances.xml

C:ColdFusion11configcluster.xml

 

4) Open a Command prompt and run wsconfig tool

   C:ColdFusion11>jrebinjava -jar cfusionruntimelibwsconfig.jar

    It will open a configuration window where you have to provide AppServer Host as the ColdFusion Server IP.

    Configure the connector.

Distributed environment is ready for use. Send requests to the Web server's URL with cfm files under web server root and same files under ColdFusion's Web root.

Web server would redirect these to ColdFusion, which is on some other machine.

 

 

Last Week for ColdFusion Summit Early Bird Rate of $299

Reminding everyone that you have one more week to register for Adobe’s ColdFusion Summit at the $299 early bird rate.  The discount rate ends June 30th, so make sure to get your registration in by then.

https://cfsummit.adobeevents.com/

 

Details:

When: November 9th and 10th, 2015

Where: Aria Resort & Casino, Las Vegas, Nevada

Pricing: 

$299 Early Bird now through June 30th

Standard Rate is $399 after June 30th 

Room Rate: $179/nt – room block is limited so please book early!!  This is an awesome rate at Aria

Adobe ColdFusion Government Seminar – Washington, D.C. May 7th

Please join the ColdFusion team at a free event in Washington, D.C. on May 7th, 2015 at 8:00 AM ET

Date: Thursday, May 7, 2015
Registration: Begins at 8:00am
Event Time: 8:30am – 11:30am

Location: Washington Marriott
                  at Metro Center

                  775 12th Street NW
                  Junior Ballroom Salon I
                  Washington, DC 20005
Cost: Free

*Complimentary breakfast will be provided

For more details and registration please use this link: http://pages.carahsoft.com/v/v0000OgY03MMU0zfM010000

This is a half-day morning event where we will have interactive discussions on current and future web trends with an emphasis on government related focus areas such as security, data management, and latest technologies.  It’s an exciting opportunity to interact with executive leadership and product management to discuss strategy and hear about Adobe’s plans for ColdFusion’s continued success and future technology focus areas.  

We encourage all of our ColdFusion customers in the D.C. area to attend.

We’re looking forward to seeing you there!

 

 

Installing ColdFusion Hotfix as non root user

When you try to run hotfix installer from command prompt, it opens up in UI mode and enforces you to run as root user. This is done to prevent some issues you could run into.

If you don’t have the access privileges for root account but you own ColdFusion server’s runtime user, and you might want to install as that user.  Silent installation is helpful in this case.

Step 1: Download the hotfix

———————————-

Download the Hotfix from ColdFusion Administrator or directly from the following URL:

https://cfdownload.adobe.com/pub/adobe/coldfusion/11/hotfix_004.jar (Change the hotfix version according to your need in this URL)

Step 2: Creating the hotfix properties

——————————————

Create hotfix properties file and fill up with the following key/values depending on your installation.
INSTANCE_LIST
value can be a list of comma separated server instances that are
created under a particular ColdFusion installation.

INSTALLER_UI=silent
USER_INSTALL_DIR=$/$opt$/$coldfusion11
INSTANCE_LIST=cfusion,cfusionprod2  
#COMMAND_INSTALL applies only to *INX based systems.
COMMAND_INSTALL=true
 
1. The
parameter COMMAND_INSTALL=true makes sure that the Standalone server is started as
ColdFusion runtime user(default is nobody) rather the root user. So,
make sure to pass this param in Unix/Mac/Solaris machines.
2. $/$ makes the installer to interpret the path properly depending on
whether it is Windows or Non-Windows platform)

For JEE installation,
USER_INSTALL_DIR value is the WAR directory containing CFIDE, WEB-INF
and META-INF under it. An example is as follows:
$/$opt$/$jboss-as-7.1.1.Final$/$standalone$/$deployments$/$cfusion.ear$/$cfusion.war

3. And the key INSTANCE_LIST  is NOT required at all for JEE.

You are ready to run the silent installation now.

 

Step 3: Execute the Installer

——————————–

Note: For JEE installation, you should stop JEE server before installing hotfix and restart the JEE server after installation. For standalone installation, this is automatically taken care by the hotfix installer.

1. First switch to the user you want to run in the command prompt so that the hotfix installation runs as this user.

2. Make sure that the files that are under the ColdFusion directory are owned by this user. In case of JEE deployment, owner could be different, please change those to this user once.

3. cd to the directory containing hotfix_004.jar that you have downloaded in your command prompt and run the following command.
>/opt/coldfusion11/jre/bin/java -jar hotfix_004.jar -f <hotfix_properties_file_path_that_you_created_above_in_step2>

 

ColdFusion 11 Update 4 pre-release build has been refreshed

ColdFusion 11 Update 4 pre-release build has been refreshed to address an issue with the Elvis operator.

Follow the instructions available in the blog post mentioned below to install this update:

http://blogs.coldfusion.com/coldfusion-11-update-4-is-available-for-early-access

We look forward to your valuable feedback and suggestions.

NOTE: Users who have already applied ColdFusion 11 Update 4 pre-release build, they need to uninstall it and re-download the latest build of ColdFusion 11 Update 4. The build number after applying this update should be 11,0,04,293127(PreRelease).

 

 

Update released for ColdFusion Builder 3

Update 3 for ColdFusion Builder 3 is released.

This update is
primarily a companion update to ColdFusion 11 Update 3 which ahs added support for
PhoneGap 3.5.

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:”Table Normal”;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:””;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:”Calibri”,sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}

This is just an Update for the ColdFusion Builder 3
installation that were installed prior to the build number 292483.
Corresponding full installers with this update embedded were already released
in December. Automatic update notification takes care of notifying you, if this
update applies to your installation or not. So, if your installation is the one
that was released in December, this update is not applicable and won’t show you
the notification. 

This update has the following 3 bug fixes.  

 

ID

TITLE

Product
Area

3768717

Remote servers details not retained on Builder restart.

 

Server Manager

3837075

Exception when generating build for mobile project

 

Mobile Support

3848665

PhoneGap version for Mobile project should be updated to
3.5

Mobile Support

Through ColdFusion Builder 3, you would get an automatic notification to apply the Update.

 

In the month of August 2014, we had
refreshed the update 2 just fixing the bugs arised out of Update 2. Ram has blogged
it as Update 3 mistakenly. It should have been blogged as Refreshed build for
Update 2. Our apologies for the confusion with regard to the update number. 

 

 

Thanks,

Krishna

ColdFusion 11 Installers refreshed-Has fix for Server fails to start on enabling J2EE Session variables and Installation on Japanese OS

During first week of December 2014, we had released Full installers for ColdFusion 11 with update 3 in-built. The build number was 11,0,3,292480.

There were two issues with the build that was released(Full Installers only).

1) After Enabling J2EE Session Variables server hangs on restart/start.

2)On Japanese OSes, installer doesn’t recognize the Japanese locale.

If you have applied the update 3 through Hotfix, these 2 issues won’t arise for you. And also, #1 is not applicable for J2EE deployments done as EAR or WAR.

 

These two issues are fixed and we have refreshed the Full installers this week. The build number is: 11,0,3,292866

If you have come across #1, either you can download and use the new installer or apply the workaround on your existing server itself.

The workaround is:

Open the xml file C:ColdFusion11cfusionruntimeconfcontext.xml (Change it as per your installation path)

and uncomment the tag: <Manager pathname=”” />

Existing:

   <!–
    <Manager pathname=”” />
    –>

Change it to:

    <Manager pathname=”” />

 

If you have come across #2, you have to download and install.