Hmmmm...

I'm not sure why hitting the 8080 HTTP connector would act differently w/ respect to temp files than that 8009 AJP connector.

One thought that comes to mind is to have your own internal temp directory. Since this won't be a real temp directory you will get the advantage of a folder that keeps files indefinitely (or at least long enough for the client to request them). On the down side, it's up to you to manage name conflicts and delete the files. The servlet handing out files can just delete them once they are requested. For the minor number of files that get abandon (client aborts the page load), you might want to consider the Quartz project for running a timed thread to kill all the files that are older than say 12 hours.

--David

Chris Pat wrote:

Hi David
Thanks for further engaging this with me. Yes, I am creating the file in an Action, dropping it in the tmpdir and reading it with a jsp that calls a servlet that reads the parameters and displays. What I find odd is everything works perfectly when executed from localhost:8080... However fails when accessed from a domain setup to pass *.do, *.jsp through modjk to TC. I know for a fact, from the timestamp and opening the file that Action is creating the file correctly, the servlet is just not finding it...when accessed from a domain/modjk. But again it works, inscrutably, perfectly when accessed from localhost on the same server. I can even simultaneously switch between it succeeding on localhost and failing on domain multiple times with the same running instance of TC.
Or is there a better way to create a tmpdir  and random file under the webapp.  
I am loathe to do that as I want to keep it possible for the admin to just 
delete the files in the root \temp or make it a task.  I dont want to get 
access into the webapp.

David Smith <[EMAIL PROTECTED]> wrote: In the code below, let's just ignore the logic for the string 'tempdir' ... looks like noise to me as it isn't used in the creation of a file.

The call to create the temp file looks good and should store it in the path specified by java.io.tmpdir. You can write out the system property to see where your files are going ... by default I think it's usually the system temp. My install of tomcat 5.5 as a service explicitly set's it to the temp directory within the tomcat folder. You can look for it in your .bat files by looking for -Djava.io.tmpdir=

Could you expand on this image tag generation? Looks like you are attempting to generate a temp image in a jsp and keep it long enough to return it via servlet. Those are two separate requests (page and image) and it may already be gone by the time the client requests the image itself if that's the case.

--David

Chris Pat wrote:

Hi
Further
I see in catalina.bat where it is setup and all the defaults are unchanged. This still does not explain why it is NOT putting the files in \temp and rather in just the root dir of the TC installation. I could explicitly force it, however that doesnt seem right.
Chris Pat  wrote: Hi Martin, David
Thanks.
Where/syntax to set the tmpdir?
Below is the syntax I use and when run from local host it puts the files in the 
"root" tomcat directory, at the same level as the all the subdirectories.  Even 
outside the webapp directory.  However it is accessible.

When I switch to accessing from a domain with modjk, TC cant find the file. The very same code that calls a servlet to populate a html img tag is blank, but the rest of the page renders correctly.
I also found something claiming that TC configures its own tmp directory per 
webapp.  Is that from the proper setting of CATALINA_TMPDIR in the server.xml?  
with what syntax?  tia.

String tempdir = System.getProperty("java.io.tmpdir");
    if (! (tempdir.endsWith("/") || tempdir.endsWith("\\"))) {
      tempdir = tempdir + System.getProperty("file.separator");
    }
    File tempFile = null;
    try {
      tempFile = File.createTempFile("myFile", "." + outputType);
    }
    catch (IOException ex2) {
    }





---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to