1 Reply Latest reply on Jan 9, 2013 3:52 PM by Randall Hauch

    Modeshape and HTTP range requests on very large media files.

    Guenther Schmidt Newbie



      ever since I found out that VLC player knows how to http I put all my rather large media files in an http server instead of a shared network drive.


      With VLC I can now still jump from scenes within a movie, ie. right to the middle and not have to wait for the whole file to be transmitted because VLC simply issues the appropriate http range requests.


      Now I was trying out if this would work when I'd use apache jackrabbit instead of nginx. Unfortunately it does not work, jackrabbit apparently does not implement http range requests and jumping into the middle of a movie before downloading it entirely is thus not possible.


      How is this with modeshape, does its http interface respond to http range requests?




        • 1. Re: Modeshape and HTTP range requests on very large media files.
          Randall Hauch Master

          I presume that you ran Jackrabbit as a server and then accessed it via something like http://localhost:8080/repository/default/. Is that the case?


          I don't believe that ModeShape's WebDAV service supports HTTP range requests. If you're really interested in the feature, you could log an enhancement request and perhaps even help implement the feature. If you configured ModeShape to store the binaries on the file system (rather than in MongoDB, Infinispan, or in a relational database), then the Binary value's resulting InputStream should really be just a FileInputStream implementation (wrapped by a BufferedInputStream) that directly accesses the file. That means the server should be able to efficiently call "skip" on the InputStream. At least in theory.


          Of course, you could always write your own HTTP servlet that used the JCR API to build the responses. That may be more than what you're interested in doing, though.