0

We configured JackRabbit repository for storing the files and other file manipulation. Here we are trying to upload large files to the JackRabbit Repository using CreateDocumentFromFilePath API. It is throwing below error message "com.rovicorp.jackrabbit.exception.JackrabbitException: JE_00002/nShort Message:::Exception from Jackrabbit Repository".

We tried to upload the file less than 30MB and it is working fine. But if we go more than that, it is throwing an error message.

We further debugged on this issue and we see that the below error message:

"Caused by: org.apache.jackrabbit.rmi.client.RemoteRepositoryException:
java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
java.lang.ClassNotFoundException:
org.apache.jackrabbit.core.data.DataStoreException (no security manager: RMI
class loader disabled)"

We read in the internet and need to configure Repository.xml file for maximum size of the uploaded file. We are not able to figure it out how to configure it in the Repository.xml. Attached the error message of the screen shot.

enter image description here

We want to upload large files to the 'JackRabbit Repository' using CreateDocumentFromFilePath API.

Can you help us to fix this issue?

Thanks in Advance

BSeitkazin
  • 2,889
  • 25
  • 40

1 Answers1

0

Let's check the Jackrabbit's documentation about Database Data Store, and see:

When adding a binary object, Jackrabbit checks the size of it. When it is larger than minRecordLength(default 100 bytes), it is added to the data store, otherwise it is kept in-memory. This is done very early (possible when calling Property.setValue(stream)). Only the unique data identifier is stored in the persistence manager (except for in-memory objects, where the data is stored). When updating a value, the old value is kept there (potentially becoming garbage) an the new value is added. There is no update operation.

The current implementation still stores temporary files in some situations, for example in the RMI client. Those cases will be changed to use the data store directly where it makes sense.

After looking at your exception: DataStoreException (no security manager: RMI class loader disabled), we come to the idea that, your client just don't have permission for RMI server. And this questions have already been answered here: Java: no security manager: RMI class loader disabled

BSeitkazin
  • 2,889
  • 25
  • 40