jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Reutegger <marcel.reuteg...@gmx.net>
Subject Re: uploading large streams
Date Thu, 25 Aug 2005 13:09:49 GMT
not sure, but it seems that the RMI implementation of a binary value 
reads the data into memory.

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