Provide API to explicitly unmap MappedByteBuffer?
Langer, Christoph
christoph.langer at sap.com
Tue Mar 20 10:39:20 UTC 2018
Hi,
I was just handling a customer issue where Java code tried to delete a file on Windows which was mapped into memory vial FileChannel.map() before. It took me a little while to understand the issue but obviously the problem was that Windows still kept a delete lock on the file as long as the ByteBuffer was still mapped. This behavior is also documented cleanly: https://download.java.net/java/jdk10/docs/api/java/nio/MappedByteBuffer.html.
So far so good, I just started wondering why there isn't an API to force unmapping (cleanup) on a MappedByteBuffer? The app that opens the mapping simply reads a properties file at this place and I guess they should be able to change this place to use standard io easily and without observable performance problems. However, if they had a way to explicitly unmap the MappedByteBuffer it would also help.
Was this topic already discussed? Is there a hard reason why explicit cleanup should not be offered? I guess people using MappedByteBuffers should know anyway what they are doing...
Thanks & Best regards
Christoph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20180320/81a6edd2/attachment.html>
More information about the nio-dev
mailing list