jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Guggisberg <stefan.guggisb...@gmail.com>
Subject Re: uploading large streams
Date Thu, 25 Aug 2005 13:54:10 GMT
On 8/25/05, Marcel Reutegger <marcel.reutegger@gmx.net> wrote:
> not sure, but it seems that the RMI implementation of a binary value
> reads the data into memory.

i agree with marcel.

andries, please post a jira issue.

cheers
stefan


> 
> snippet from org.apache.jackrabbit.rmi.value.BinaryValue:
> 
>          // read the input into a byte array - limited by memory
> available !!
>          ByteArrayOutputStream bos =
>              new ByteArrayOutputStream(stream.available());
>          byte[] buf = new byte[2048];
>          int rd = 0;
>          while ((rd = stream.read(buf)) >= 0) {
>              bos.write(buf, 0, rd);
>          }
> 
> maybe Jukka can shed some light on this.
> 
> regards
>   marcel
> 
> Andries Demont wrote:
> > I'm running jack-rabbit as a stand-alone server on tomcat5.5
> > The client communicates remotely with jcr.
> > I didn't change the heap size, so I think 8 Meg, how can I check this
> > value?
> >
> > The file I tried to send was 35 meg.
> >
> > In the attachment I placed the repository.xml file
> >
> > Thanks for helping me out!
> >
> > Greetings!
> > Andries
> >
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> > <!-- <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Repository//EN"
"file://config.dtd"> -->
> > <!DOCTYPE Repository [
> >     <!--
> >     the Repository element configures a repository instance;
> >     individual workspaces of the repository are configured through
> >     separate configuration files called workspace.xml which are
> >     located in a subfolder of the workspaces root directory
> >     (see Workspaces element).
> >
> >     it consists of
> >
> >     a FileSystem element (the virtual file system
> >     used by the repository to persist global state such as
> >     registered namespaces, custom node types, etc..
> >
> >     a Workspaces element that specifies to the location of
> >     workspaces root directory and the name of default workspace
> >
> >     a Workspace element that is used as a workspace configuration
> >     template; it is used to create the initial workspace if there's
> >     no workspace yet and for creating additional workspaces through
> >     the api
> >
> >     a SearchIndex element that is used for configuring per workspace
> >     Indexing-related settings
> >
> >     a Versioning element that is used for configuring
> >     versioning-related settings
> >     -->
> >     <!ELEMENT Repository (FileSystem,Security,Workspaces,Workspace,Versioning)>
> >
> >     <!--
> >     a virtual file system
> >     -->
> >     <!ELEMENT FileSystem (param*)>
> >     <!ATTLIST FileSystem
> >       class CDATA #REQUIRED>
> >
> >     <!--
> >         the Security element specifies the name (appName attribute)
> >         of the JAAS configuration app-entry for this repository.
> >
> >         it also specifies the access manager to be used (AccessManager element).
> >     -->
> >     <!ELEMENT Security (AccessManager)>
> >     <!ATTLIST Security
> >       appName CDATA #REQUIRED>
> >
> >
> >     <!--
> >     generic parameter (name/value pair)
> >     -->
> >     <!ELEMENT param EMPTY>
> >     <!ATTLIST param
> >       name CDATA #REQUIRED
> >       value CDATA #REQUIRED>
> >
> >     <!--
> >     the Workspaces element specifies the workspaces root directory
> >     (rootPath attribute) and the name of the default workspace
> >     (defaultWorkspace attribute).
> >
> >     individual workspaces are configured through individual workspace.xml
> >     files located in a subfolder each of the workspaces root directory.
> >     -->
> >     <!ELEMENT Workspaces EMPTY>
> >     <!ATTLIST Workspaces
> >       rootPath CDATA #REQUIRED
> >       defaultWorkspace CDATA #REQUIRED>
> >
> >     <!--
> >     the Workspace element serves as a workspace configuration template;
> >     it is used to create the initial workspace if there's no workspace yet
> >     and for creating additional workspaces through the api
> >     -->
> >     <!ELEMENT Workspace (FileSystem,PersistenceManager,SearchIndex?)>
> >     <!ATTLIST Workspace
> >       name CDATA #REQUIRED>
> >
> >     <!--
> >     the PersistenceManager element configures the persistence manager
> >     to be used for the workspace; the class attribute specifies the
> >     FQN of the class implementing PersistenceManager interface
> >     -->
> >     <!ELEMENT PersistenceManager (param*)>
> >     <!ATTLIST PersistenceManager
> >       class CDATA #REQUIRED>
> >
> >     <!--
> >     the SearchIndex element specifies the locaction of the search index
> >     (used by the QueryHandler); the class attribute specifies the
> >     FQN of the class implementing the QueryHandler interface.
> >     -->
> >     <!ELEMENT SearchIndex (param*,FileSystem)>
> >     <!ATTLIST SearchIndex
> >       class CDATA #REQUIRED>
> >
> >     <!--
> >     the Versioning element configures the persistence manager
> >     to be used for persisting version state
> >     -->
> >     <!ELEMENT Versioning (FileSystem, PersistenceManager)>
> >     <!ATTLIST Versioning
> >       rootPath CDATA #REQUIRED
> >     >
> > ]>
> > <Repository>
> >     <!--
> >     virtual file system where the repository stores global state
> >     (e.g. registered namespaces, custom node types, etc.)
> >     -->
> >     <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
> >       <param name="path" value="${rep.home}/repository"/>
> >     </FileSystem>
> >
> >     <!--
> >         security configuration
> >     -->
> >     <Security appName="Jackrabbit">
> >         <!--
> >             access manager:
> >             class: FQN of class implementing the AccessManager interface
> >         -->
> >         <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager">
> >             <!-- <param name="config" value="${rep.home}/access.xml"/>
-->
> >         </AccessManager>
> >       <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
> >               <!--
> >               anonymous user name ('anonymous' is the default value)
> >               -->
> >               <param name="anonymousId" value="anonymous" />
> >       </LoginModule>
> >
> >     </Security>
> >
> >     <!--
> >     location of workspaces root directory and name of default workspace
> >     -->
> >     <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
> >     <!--
> >     workspace configuration template:
> >     used to create the initial workspace if there's no workspace yet
> >     -->
> >     <Workspace name="${wsp.name}">
> >       <!--
> >       virtual file system of the workspace:
> >       class: FQN of class implementing FileSystem interface
> >         -->
> >       <FileSystem class="com.day.jackrabbit.fs.cq.CQFileSystem">
> >           <param name="path" value="${wsp.home}/wspStore.dat"/>
> >           <param name="autoRepair" value="false"/>
> >           <param name="blockSize" value="128"/>
> >           <param name="autoSync" value="false"/>
> >       </FileSystem>
> >       <!--
> >       persistence of the workspace:
> >       class: FQN of class implementing PersistenceManager interface
> >         -->
> >       <PersistenceManager class="org.apache.jackrabbit.core.state.obj.ObjectPersistenceManager"/>
> >       <!--
> >       Search index and the file system it uses.
> >         -->
> >       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
> >           <param name="useCompoundFile" value="true"/>
> >           <param name="minMergeDocs" value="1000"/>
> >           <param name="maxMergeDocs" value="10000"/>
> >           <param name="mergeFactor" value="10"/>
> >
> >           <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
> >               <param name="path" value="${wsp.home}/index"/>
> >           </FileSystem>
> >       </SearchIndex>
> >     </Workspace>
> >
> >     <!--
> >     Configures the versioning
> >     -->
> >     <Versioning rootPath="${rep.home}/version">
> >       <!--
> >       Configures the filesystem to use for versioning for the respective
> >       persistence manager
> >         -->
> >       <FileSystem class="com.day.jackrabbit.fs.cq.CQFileSystem">
> >           <param name="path" value="${rep.home}/version/version.dat"/>
> >           <param name="autoRepair" value="false"/>
> >           <param name="blockSize" value="128"/>
> >           <param name="autoSync" value="false"/>
> >       </FileSystem>
> >
> >       <!--
> >       Configures the persistence manager to be used for persisting version state.
> >       Please note that the current versioning implementation is based on
> >       a 'normal' persistence manager, but this could change in future
> >       implementations.
> >         -->
> >       <PersistenceManager class="org.apache.jackrabbit.core.state.obj.ObjectPersistenceManager"/>
> >
> >     </Versioning>
> >
> > </Repository>
>

Mime
View raw message