Thank you very much for you answer Jere.

Indeed, my deployed repository settings file contains the following entry:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
       <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
<param name="schemaObjectPrefix" value="Unnamed - com.fylab.eliot:eliot-docs-socle:jar:2.2.0-SNAPSHOT_"/>
</PersistenceManager>

The repository setting file I'm using to create the repository contains:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager"> <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/> <param name="schemaObjectPrefix" value="${wsp.name}_"/>
       </PersistenceManager>

So it happens that the 'wsp.name' is mapped to 'Unnamed - com.fylab.eliot:eliot-docs-socle:jar:2.2.0-SNAPSHOT_' The 2nd part of that name is the JAR file that contains my JackRabbit module.

As a temporary solution I can replace this pattern by a constant like: <param name="schemaObjectPrefix" value="defaultWorkspace"/> But what should I do to get the name of the workspace without the JAR file qualification?

John

Jere McDevitt a écrit :
I saw something similar when first converting over to using Postgres.  Table
names which get created based on prefix settings are URL encoded, so if you
have content with characters like . (002e) - (002d) and : (003a) you get
table names like that.  It appears somewhere in your configuration file you
are using a what looks like might be a classpath entry in a config setting
that defines a table name.  Can you post the repository settings file you
are using?  Looking at the name it looks like you have:

UNNAMED _- _ COM.FYLAB.ELIOT:ELIOT-DOCS-SOCLE:JAR:2.2.0-SNAPSHOT_BUNDLE

in a setting somewhere.

On Wed, Jan 6, 2010 at 4:44 AM, John Tranier <[email protected]> wrote:

Hi all,

I am stuck with an issue that sounds related to character encoding, and I
would like to check if someone knows about it or has an idea of how I can
overcome it.
I have developed for my web application a JackRabbit module.
Everything works fine with my tests inside the module, but when I deploy
this module inside my application it fails to instantiate the persistence
manager.

Here is the relevant stack trace:

javax.jcr.RepositoryException: Cannot instantiate persistence manager
org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager:
Schema generation error: Issuing statement: create table
UNNAMED_x0020__x002d__x0020_COM_x002e_FYLAB_x002e_ELIOT_x003a_ELIOT_x002d_DOCS_x002d_SOCLE_x003a_JAR_x003a_2_x002e_2_x002e_0_x002d_SNAPSHOT_BUNDLE
(NODE_ID_HI bigint not null, NODE_ID_LO bigint not null, BUNDLE_DATA
blob(2G) not null, PRIMARY KEY (NODE_ID_HI, NODE_ID_LO)): Schema generation
error: Issuing statement: create table
UNNAMED_x0020__x002d__x0020_COM_x002e_FYLAB_x002e_ELIOT_x003a_ELIOT_x002d_DOCS_x002d_SOCLE_x003a_JAR_x003a_2_x002e_2_x002e_0_x002d_SNAPSHOT_BUNDLE
(NODE_ID_HI bigint not null, NODE_ID_LO bigint not null, BUNDLE_DATA
blob(2G) not null, PRIMARY KEY (NODE_ID_HI, NODE_ID_LO))

Caused by: java.sql.SQLException: The name
'UNNAMED_X0020__X002D__X0020_COM_X002E_FYLAB_X002E_ELIOT_X003A_ELIOT_X002D_DOCS_X002D_SOCLE_X003A_JAR_X003A_2_X002E_2_X002E_0_X002D_SNAPSHOT_BUNDLE'
is too long. The maximum length is '128'.

Thanks for support,
John



Reply via email to