CF8 and cfdocument in pdf > could this cause memory leak?

I have a new web application that makes use of cfdocument to produce pdfs from HTML.  

Over a days use on our production server, I see memory usage of jrun.exe creep up - could use of cfdocument be causing a memory leak on the server?  I am not sure where to look to troubleshoot.

I am guessing the pdf production may be at the root of the trouble, as I email myself an onrequest errors when they happen. Nearly always it is from a template that produces the pdf.
Pseudo code:
 
<cfdocument format="pdf" name="thispdf" orientation="portrait"  fontEmbed = "yes" 	marginTop="0.50"
		marginBottom=".25"
		marginLeft=".50"
		marginRight=".50"
		scale="100"
		>
HTML CODE HERE
</cfdocument>		
 
<!--- Create the file name to return to the client --->
<cfset variables.filename = "#createUUID()#.pdf"> 
	 
<!--- Make the generated pdf open as a separate file (not a cfm file) --->
<cfheader name="Content-Disposition" value="attachment;filename=#variables.filename#">
	
<!--- generate the pdf and send to the subscriber --->
<cfcontent type="application/pdf" reset="true" variable="#toBinary(thispdf)#" />

Open in new window

akibashoAsked:
Who is Participating?
 
akibashoConnect With a Mentor Author Commented:
Thanks for your comment - but doesn't saveAsName create a physical file that then needs to be cleaned up (we don't store these pdfs) ?  Are you saying that  cfheader/cfcontent might be the cause of the memory problems on the server?

0
 
duncancummingCommented:
Instead of using cfheader and cfcontent, what if you tried using the SaveAsName attribute of cfdocument?

<cfdocument format="pdf" name="thispdf" orientation="portrait"  fontEmbed = "yes"       marginTop="0.50"
                marginBottom=".25"
                marginLeft=".50"
                marginRight=".50"
                scale="100"
                saveAsName="#CreateUUID#.pdf"
                >
HTML CODE HERE
</cfdocument> 

Open in new window

0
 
duncancummingCommented:
Just a guess!  I didn't think SaveAsName created a file, I thought it just rendered the PDF in the browser.  Documentation says "The filename that appears in the SaveAs dialog when a user saves a PDF file written to the browser"  - I'm not sure if you automatically get the Save As dialog box, or if that's only the filename that gets created if you go File > Save.  
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
akibashoAuthor Commented:
Well, learn something new every day!  I haven't used that new attribute "saveAsName" and that definitely will improve my code -

So thank you for that.

However, the memory problem on the server turned out to be unrelated to the code completely.

It turns out that the JRE I was using (and came packaged with my CF8 installation file) was JRE jdk1.6.0_07.   I decided to see whether there was a problem with the JRE version - and downgraded my JRE to 1.5.18.  THAT completely solved the problem.  I am now going to get the latest JRE (now 1.6.13 )  off Sun Microsystems and see if I can go back to 1.6 without the memory problems.
0
 
duncancummingCommented:
You should accept your own comment as the solution here, in case anyone else runs into this problem.
0
 
duncancummingCommented:
You should probably have accepted your *other* comment as the anser, the one that details how it was all due to the JRE.
0
All Courses

From novice to tech pro — start learning today.