Results 1 to 2 of 2

Thread: NotSerializableException JackRabbitUserTransaction$XidImpl

  1. #1
    Join Date
    Aug 2005
    Location
    Orlando, FL
    Posts
    20

    Default NotSerializableException JackRabbitUserTransaction$XidImpl

    I'm getting the following exception involving transactions and a remote repository:

    Note: The line numbers are off as I made some attempts to fix the problem (unsuccessfully).
    Code:
    Caused by: javax.transaction.xa.XAException: Remote operation failed
    	at org.apache.jackrabbit.rmi.client.ClientXAResource.getXAException(ClientXAResource.java:58)
    	at org.apache.jackrabbit.rmi.client.ClientXAResource.start(ClientXAResource.java:131)
    	at org.springframework.extensions.jcr.jackrabbit.support.JackRabbitUserTransaction.begin(JackRabbitUserTransaction.java:68)
    	... 29 more
    Caused by: java.rmi.MarshalException: error marshalling arguments; nested exception is: 
    	java.io.NotSerializableException: org.springframework.extensions.jcr.jackrabbit.support.JackRabbitUserTransaction$XidImpl
    
    	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:138)
    	at org.apache.jackrabbit.rmi.server.ServerXAResource_Stub.start(Unknown Source)
    	at org.apache.jackrabbit.rmi.client.ClientXAResource.start(ClientXAResource.java:129)
    	... 30 more
    Caused by: java.io.NotSerializableException: org.springframework.extensions.jcr.jackrabbit.support.JackRabbitUserTransaction$XidImpl
    
    	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1153)
    	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
    	at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:274)
    	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
    	... 32 more
    I found the following related issues:
    http://issues.apache.org/jira/browse/JCR-1333 (says the problem's fixed in JCR-RMI 1.5--but that's the JAR version that I'm using)
    http://forum.springsource.org/archiv...p/t-63915.html (user states he was able to workaround the problem; I was not)

    I'm using SE-JCR 0.9 and Jackrabbit 1.6 over RMI. My config looks like this:

    Code:
      <bean id="rmiClientFactory" class="org.apache.jackrabbit.rmi.client.ClientRepositoryFactory">
        <constructor-arg>
          <bean class="org.apache.jackrabbit.rmi.jackrabbit.JackrabbitClientAdapterFactory" />
        </constructor-arg>
      </bean>
    
      <bean id="jcrRepository" factory-bean="rmiClientFactory" factory-method="getRepository">
        <constructor-arg value="rmi://localhost:1099/jackrabbit"/>
      </bean>
    In general, do users of Jackrabbit use RMI or instead expose their own service layers remotely? Does the SE-JCR team test RMI regularly? Thanks for your help!
    Mat Lowery
    Pentaho Developer

  2. #2
    Join Date
    Aug 2005
    Location
    Orlando, FL
    Posts
    20

    Default My fault

    I can't reproduce this problem today. I must have had a JCR-RMI-1.4 in my classpath. Thanks!
    Mat Lowery
    Pentaho Developer

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •