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>