Hi,

You could implement a file system that tries locking a few times, and if
that fails continue. See the docs for details (in the Advanced section),
and the org.h2.store.fs.FilePath class. I would probably write a class that
extends FilePathWrapper.

Regards,
Thomas


On Wednesday, September 9, 2015, Ken Jorissen <[email protected]>
wrote:

> FileChannel.tryLock() is dependent on the underlying file system. Not all
> file systems support locking. In our product we had to add support for
> attempting the lock, then if you get this failure, log it and move on. You
> are running unlocked at that point, but if something else is scribbling on
> the file then I figure that is user error, the application tried to lock it
> and told you it couldn't.
>
> -Ken
>
> On Tuesday, September 8, 2015 at 10:36:02 AM UTC-5, Thomas Mueller wrote:
>>
>> Hi,
>>
>> It seems to be a limitation of the file system. Did you search for an
>> answer at StackOverflow.com?
>>
>> Regards,
>> Thomas
>>
>> On Sunday, September 6, 2015, alexg <[email protected]> wrote:
>>
>>> Problem description:
>>>
>>> - h2 database server should start on OSX Yosemite
>>> - existinge database file is stored on OSX Snow Leopard and mounted as
>>> ntfs share on OSX Yosemite
>>>
>>> With the current version (1.4.188) of h2 database i debugged this
>>> Exception:
>>>
>>> java.io.IOException: Operation not supported
>>>
>>> at sun.nio.ch.FileDispatcherImpl.lock0(Native Method)
>>>
>>> at sun.nio.ch.FileDispatcherImpl.lock(FileDispatcherImpl.java:90)
>>>
>>> at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1082)
>>>
>>> at org.h2.store.fs.FileDisk.tryLock(FilePathDisk.java:447)
>>>
>>> at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
>>>
>>> at org.h2.store.FileStore.tryLock(FileStore.java:491)
>>>
>>> at org.h2.store.PageStore.lockFile(PageStore.java:319)
>>>
>>> at org.h2.store.PageStore.openExisting(PageStore.java:343)
>>>
>>> at org.h2.store.PageStore.open(PageStore.java:288)
>>>
>>> at org.h2.engine.Database.getPageStore(Database.java:2448)
>>>
>>> at org.h2.engine.Database.open(Database.java:671)
>>>
>>> at org.h2.engine.Database.openDatabase(Database.java:268)
>>>
>>> at org.h2.engine.Database.<init>(Database.java:262)
>>>
>>> at org.h2.engine.Engine.openSession(Engine.java:65)
>>>
>>> at org.h2.engine.Engine.openSession(Engine.java:175)
>>>
>>> at org.h2.engine.Engine.createSessionAndValidate(Engine.java:153)
>>>
>>> at org.h2.engine.Engine.createSession(Engine.java:136)
>>>
>>> at org.h2.server.TcpServerThread.run(TcpServerThread.java:149)
>>>
>>>
>>> It has worked with some earlier version. It also works with database
>>> file stored on OSX Yosemite.
>>>
>>> --
>>>
>>> --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <javascript:_e(%7B%7D,'cvml','h2-database%[email protected]');>
> .
> To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>.
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to