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:[email protected]] Sent: Tuesday, October 06, 2009 10:17 PM To: [email protected] 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: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
