>the files shall be cached to the disk JCS does this, See indexedDiskCache. If you need the files to be accessible by external apps then your going to need to write these to disk on your own Or if an external process actually places the disk locally.
>Also, that a whole file content shall be cached instead of just a filename. The file input stream is not the file content but the mechanism for reading The content from the disk. As I said creating the input stream is not that costly. You could read the content then place the content into the cache. Depending on the size of the content you will end up paying a memory price. -----Original Message----- From: fox1964 [mailto:hucho...@yahoo.com] Sent: Wednesday, October 07, 2009 7:01 PM To: jcs-users@jakarta.apache.org Subject: RE: How to Cache A Physical File Tim, Thank you so much for your reply. There are two requirements for this cache: first, the files shall be cached to the disk; second Also, that a whole file content shall be cached instead of just a filename. I am not using java much, and have not been using that for a long time. Can you point me to what object I should rebuild the input stream, which I think can be serialized for use in JCS? do appreciate any input on this. fox1964 Tim Cronin-2 wrote: > > If you're only using the memory cache you should be able to cache those > input streams, but you can't serialize them to disk as they have native > file handles tied to them. > > You would need to wrap them and basically rebuild the input stream > completely. > > It might just be simpler to cache the file name and build the input > stream. > > If you're concerned about performance I think the reading will be the > biggest issue and not the creation of the input stream itself. > > > -----Original Message----- > From: fox1964 [mailto:hucho...@yahoo.com] > Sent: Tuesday, October 06, 2009 10:17 PM > To: jcs-users@jakarta.apache.org > Subject: How to Cache A Physical File > > > I have a large physical file downloaded to my server. I'd like to > cache the > file so that my program can read faster. I've configured JCS properly. > I > can see the "mycache.key" and "mycache.data" files are updated every > time I > use a string for both a key/value pair. But how can I put a physical > file > into cache? Right now, I use an "FileInputStream" object to read the > file, > and put into the cache. > > FileInputStream input = new FileInputStream(file); > cache.put(input); > > This seems to go thru without prompting any error message. But when I > tried to retrieve it, I got a message "java.lang.NullPointerException" > when > cache.get(key); > > I can see the mycache.key file updated, but can NOT see any updates in > mycache.data file by looking at the timestamp. > > Any guru can show me what I may do wrong? Or do you have any sample > code > to do this? Thanks a lot in advance. > > > -- > View this message in context: > http://www.nabble.com/How-to-Cache-A-Physical-File-tp25779933p25779933.h > tml > Sent from the JCS - Users mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: jcs-users-unsubscr...@jakarta.apache.org > For additional commands, e-mail: jcs-users-h...@jakarta.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: jcs-users-unsubscr...@jakarta.apache.org > For additional commands, e-mail: jcs-users-h...@jakarta.apache.org > > > -- View this message in context: http://www.nabble.com/How-to-Cache-A-Physical-File-tp25779933p25796503.h tml Sent from the JCS - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: jcs-users-unsubscr...@jakarta.apache.org For additional commands, e-mail: jcs-users-h...@jakarta.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: jcs-users-unsubscr...@jakarta.apache.org For additional commands, e-mail: jcs-users-h...@jakarta.apache.org