InternalException & UserException using objectdb with Jboss AS 7.1.1 final

#1

Hello.

We are currently using ObjectDB in application server Jboss as 7.1.1.final. ObjectDB version is 2.5.3_02.
The following errors occur when multiple ajax requests are executed:

Caused by: com.objectdb.o.InternalException: Error reading UTF string
Caused by: com.objectdb.o.UserException: Mismatch client-server protocol prefix

Our current settings:

Persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
 
    <persistence-unit name="DP_PU" transaction-type="JTA">
        <provider>com.objectdb.jpa.Provider</provider>
        <properties>
            <property name="jboss.as.jpa.providerModule" value="com.objectdb" />
            <property name="javax.jdo.option.MaxPool" value="50"/>
            <property name="javax.persistence.jdbc.url" value="objectdb://localhost:6136/dp.odb"/>
            <property name="javax.persistence.jdbc.user" value="admin"/>
            <property name="javax.persistence.jdbc.password" value="admin"/>
        </properties>
    </persistence-unit>

    <persistence-unit name="SESSION_PU" transaction-type="JTA">
        <provider>com.objectdb.jpa.Provider</provider>
        <properties>
            <property name="jboss.as.jpa.providerModule" value="com.objectdb" />
            <property name="javax.jdo.option.MaxPool" value="50"/>
            <property name="javax.persistence.jdbc.url" value="objectdb://localhost:6136/dp_sessions.odb"/>
            <property name="javax.persistence.jdbc.user" value="admin"/>
            <property name="javax.persistence.jdbc.password" value="admin"/>
        </properties>
    </persistence-unit>
              
</persistence>


The module is described as:

<?xml version="1.0" encoding="UTF-8"?>

<module xmlns="urn:jboss:module:1.0" name="com.objectdb">
    <resources>
        <resource-root path="objectdb-jee.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.persistence.api"/>
        <module name="javax.transaction.api"/>
        <module name="javax.validation.api"/>
     </dependencies>
</module>

However, when ObjectDB operates in integrated regime (the connection line is the absolute path to the database)

<property name="javax.persistence.jdbc.url" value="objectdb:/usr/share/objectdb/db/dp.odb"/>

no such errors occur.

Could you please specify possible reasons of the errors described.
Full description of exception logs is attached.

Thank you in advance

#2

More information is needed.

Possibly this is related to registering persistable types in the database concurrently, i.e. when running the application with a new empty database or after applying schema change.

If you get this exceptions only with a new database, can you check your application with a database in which all the entity types have already been registered?

ObjectDB Support
ObjectDB - Fast Object Database for Java (JPA/JDO)

Post Reply

To post a reply and/or subscribe to update notifications - please login