Martin Gainty wrote:

Michael
createTempFile employs 3 steps algorithm to locate/create "tempDir"
1) Attempt to retrieve the value of "javax.servlet.context.tempdir" from the
  ServletContext
2) If that's not found, attempt to retrieve the value of the init-parameter
  "tempDir"
3) If that's not found, default to the system-wide temp directory specified
  by the system property "java.io.tempdir"
A)what is the value of "javax.servlet.context.tempdir" from the
ServletContext?
B)what is the value of the init-parameter   "tempDir"?
Martin-
----- Original Message -----
From: "Michael McGrady" <[EMAIL PROTECTED]>
To: "Tomcat Developers List" <[EMAIL PROTECTED]>
Sent: Thursday, October 14, 2004 3:16 AM
Subject: java.io.tempdir Problems




I hope this is Tomcat related.  If not, please accept my apologies, and
give me direction.  I have removed from my Tomcat 5 (Struts 1.2 using a
custom taglib) service the java.io.tempdir setting because when I use
the following code:

    File file = new File(Classpath.WEB_INF +
                    "resource"        + File.separator +
                    "content_type"    + File.separator +
                    "ttf"             + File.separator +
                     physicalName);
    FileInputStream fontStream = new FileInputStream(file);
    Font font = Font.createFont(Font.TRUETYPE_FONT,fontStream);
    font = font.deriveFont(attributes);
    fontStream.close();

I get temp files of around 50 - 150 kilobytes each written to the temp
directory.  I requested assistance on Tomcat User without an answer.

Anyway, I assume that there may be a concurrency issue of somekind.  Is
that right?  Anyone with any assistance out there?

Michael McGrady


Martin,

First, thanks for responding.

Second, the entirety of the startup code setting my java.io.tempdir system property is after this note, but the value of the property is "%CATALINA_HOME%\temp. The value of javax.servlet.context.tempdir is C:\crackwillow\work\Catalina\localhost\_ . Following the knowledge I gleaned from your question and specifications, I reset things in a plugin, and I now have the values at runtime of:

javax.servlet.context.tempdir = C:\crackwillow\work\Catalina\localhost\_
-Djava.io.tempdir = C:/crackwillow/temp
java.io.tempdir = C:/crackwillow/temp

Prior to doing this, my values for both -Djava.io.tempdir and java.io.tempdir were null.

I have kept the value of the java.io.tempdir in my at C:/crackwillow/temp. When I run the font program as previously indicated (see above), I still get the tmp files that do not go away. Their names are as follows: +~JF3174.tmp and they run consequtively.

What do you think is up?

Michael McGrady

@echo off
if "%OS%" == "Windows_NT" setlocal
rem ---------------------------------------------------------------------------
rem NT Service Install/Uninstall script
rem
rem Options
rem install Install the service using Tomcat5 as service name.
rem Service is installed using default settings.
rem remove Remove the service from the System.
rem
rem name (optional) If the second argument is present it is considered
rem to be new service name rem
rem $Id: service.bat,v 1.1 2003/12/27 18:56:58 mdsh Exp $
rem ---------------------------------------------------------------------------


rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%cd%
if exist "%CATALINA_HOME%\bin\tomcat.exe" goto okHome
rem CD to the upper dir
cd ..
set CATALINA_HOME=%cd%
:gotHome
if exist "%CATALINA_HOME%\bin\tomcat.exe" goto okHome
echo The tomcat.exe was not found...
echo The CATALINA_HOME environment variable is not defined correctly.
echo This environment variable is needed to run this program
goto end
:okHome

set EXECUTABLE="%CATALINA_HOME%\bin\tomcat.exe"

rem Set default Service name
set SERVICE_NAME=Tomcat5

if "%1" == "" goto displayUsage
if "%2" == "" goto setServiceName
set SERVICE_NAME=%2
:setServiceName
if %1 == install goto doInstall
if %1 == remove goto doRemove
echo Unknown parameter "%1"
:displayUsage
echo
echo Usage: service.bat install/remove [service_name]
goto end

:doRemove
rem Remove the service
%EXECUTABLE% //DS//%SERVICE_NAME%
echo The service '%SERVICE_NAME%' has been removed
goto end

:doInstall
rem Install the service
%EXECUTABLE% //IS//%SERVICE_NAME% --DisplayName "Apache Tomcat" --Description "Apache Tomcat Server - http://jakarta.apache.org/tomcat/";
%EXECUTABLE% //US//%SERVICE_NAME% --Install %EXECUTABLE%
%EXECUTABLE% //US//%SERVICE_NAME% --ImagePath "%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar"
%EXECUTABLE% //US//%SERVICE_NAME% --Java "%JAVA_HOME%\jre\bin\server\jvm.dll"
%EXECUTABLE% //US//%SERVICE_NAME% --StartupClass org.apache.catalina.startup.Bootstrap;main;start --ShutdownClass org.apache.catalina.startup.Bootstrap;main;stop --Startup auto
rem Set extra parameters
%EXECUTABLE% //US//%SERVICE_NAME% --JavaOptions -Dcatalina.home="\"%CATALINA_HOME%\""#-Djava.endorsed.dirs="\"%CATALINA_HOME%\common\endorsed\""#-Djava.io.tmpdir="\"%CATALINA_HOME%\temp\""#-Xms32m#-Xmx256m#-Xrs
%EXECUTABLE% //US//%SERVICE_NAME% --StdOutputFile "%CATALINA_HOME%\logs\stdout.log"
%EXECUTABLE% //US//%SERVICE_NAME% --StdErrorFile "%CATALINA_HOME%\logs\stderr.log"
%EXECUTABLE% //US//%SERVICE_NAME% --WorkingPath "%CATALINA_HOME%\bin"
echo The service '%SERVICE_NAME%' has been installed


:end
cd %CURRENT_DIR%



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to