You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Peter Dotchev <do...@gmail.com> on 2009/11/04 00:38:28 UTC

NoSuchMethodError: org.apache.jackrabbit.core.value.BLOBFileValue.dispose()V

Hi,

When I set a Binary property and I try to save it I get this exception.

java.lang.NoSuchMethodError:
org.apache.jackrabbit.core.value.BLOBFileValue.dispose()V
	at
org.apache.jackrabbit.core.value.InternalValue.discard(InternalValue.java:722)
	at
org.apache.jackrabbit.core.persistence.util.Serializer.serialize(Serializer.java:220)
	at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:505)
	at
org.apache.jackrabbit.core.persistence.AbstractPersistenceManager.store(AbstractPersistenceManager.java:69)
	at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:302)
	at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:732)
	at
org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:1109)
	at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:351)
	at
org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:354)
	at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326)
	at
org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:329)
	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1122)
	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:917)

I use 2.0-beta1.
The same with 2.0-alpha9.

I set the Binary property with code like this.

Node content = ...;
content.setProperty("jcr:data",
getSession().getValueFactory().createBinary(imageData.getData()));

When I check the source of org.apache.jackrabbit.core.value.BLOBFileValue it
really does not have method dispose.

Here is the source where this method is called
org.apache.jackrabbit.core.value.InternalValue

    public void discard() {
        if (type == PropertyType.BINARY) {
            BLOBFileValue bfv = (BLOBFileValue) val;
            bfv.dispose();
        } else {
            super.discard();
        }
    }

Any ideas?

Best regards,
Peter

-- 
View this message in context: http://old.nabble.com/NoSuchMethodError%3A-org.apache.jackrabbit.core.value.BLOBFileValue.dispose%28%29V-tp26164392p26164392.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.


Re: NoSuchMethodError: org.apache.jackrabbit.core.value.BLOBFileValue.dispose()V

Posted by Peter Dotchev <do...@gmail.com>.
Hi Jukka,

Thanks for the hint.
I was using jcr-2.0-pfd.jar (Proposed Final Draft) and there is no dispose
method in javax.jcr.Binary.
Now I saw that the final JCR 2.0 spec is released, so I updated to
jcr-2.0.jar from maven repository and this works fine.

BTW the readme.txt in Jackrabbit 2.0beta1 source package still says that
people need to download jcr-2.0-b114.jar. I guess this is no longer
necessary.

Best regards,
Peter


Jukka Zitting wrote:
> 
> Hi,
> 
> On Tue, Nov 3, 2009 at 3:38 PM, Peter Dotchev <do...@gmail.com> wrote:
>> When I set a Binary property and I try to save it I get this exception.
>>
>> java.lang.NoSuchMethodError:
>> org.apache.jackrabbit.core.value.BLOBFileValue.dispose()V
>> [...]
>> Any ideas?
> 
> You probably have jcr-1.0.jar in your classpath. Jackrabbit 2.0
> requires jcr-2.0.jar.
> 
> BR,
> 
> Jukka Zitting
> 
> 

-- 
View this message in context: http://old.nabble.com/NoSuchMethodError%3A-org.apache.jackrabbit.core.value.BLOBFileValue.dispose%28%29V-tp26164392p26205769.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.


Re: NoSuchMethodError: org.apache.jackrabbit.core.value.BLOBFileValue.dispose()V

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On Tue, Nov 3, 2009 at 3:38 PM, Peter Dotchev <do...@gmail.com> wrote:
> When I set a Binary property and I try to save it I get this exception.
>
> java.lang.NoSuchMethodError:
> org.apache.jackrabbit.core.value.BLOBFileValue.dispose()V
> [...]
> Any ideas?

You probably have jcr-1.0.jar in your classpath. Jackrabbit 2.0
requires jcr-2.0.jar.

BR,

Jukka Zitting