You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by "Hatherly, Adam (GE Money)" <Ad...@ge.com> on 2007/04/16 12:18:22 UTC

Caching problem with shared deployment

Hi - I have a small problem you may be able to help me with.

I am using Jackrabbit to apply "branding" to a web page dynamically, and to that end I have deployed two separate web apps to a server - one which is the actual web site, and a second which is the "branding" editor that allows me to update image elements in the jackrabbit repository to alter branding on the page.

My problem occurs if I delete an element and then recreate it using the same path. When I do that, the change is reflected correctly within the "editor" web app, but when the normal web app tries to retrieve the element I get this error:

/89/25/ebd281b64edfb93b597753c5e716/%7b%7ddata.0.bin: the specified resource does not exist: /home/wasadmin/repository/workspaces/default/blobs/89/25/ebd281b64edfb93b597753c5e716/%7b%7ddata.0.bin does not denote an existing file

I am retrieving the node from the repository using:

Node rootNode = session.getRootNode();
Node node = rootNode.getNode(key);

Where key is the path of the node I want.

I can only assume it is related to some in-memory indexing/caching within lucene, as a server restart fixes the problem. Do you know of any way I can overcome the problem so I don't need a restart every time I change or delete/recreate a node?

Thanks,
Adam.


Re: Caching problem with shared deployment

Posted by David Nuescheler <da...@gmail.com>.
hi adam,

it sounds like you might be running two jackrabbit instances against the
same backing store, which is something that jackrabbit is not designed to do.
i would recommend to connect from branding editor application through rmi
to the "web site"-app or run the repository as a resource in websphere.
http://jackrabbit.apache.org/doc/deploy.html

if you already are running model (2) or model(3) then i think we would
have to look at your repository.xml file(s) and also see how you create the
repository itself. maybe you could attach the code that you use to get a hold
of the repository object?

since lucene is not used for a getNode(key) call, i think it is unlikely to
have something to do with lucene.

regards,
david

On 4/16/07, Hatherly, Adam (GE Money) <Ad...@ge.com> wrote:
> Hi - I have a small problem you may be able to help me with.
>
> I am using Jackrabbit to apply "branding" to a web page dynamically, and to that end I have deployed two separate web apps to a server - one which is the actual web site, and a second which is the "branding" editor that allows me to update image elements in the jackrabbit repository to alter branding on the page.
>
> My problem occurs if I delete an element and then recreate it using the same path. When I do that, the change is reflected correctly within the "editor" web app, but when the normal web app tries to retrieve the element I get this error:
>
> /89/25/ebd281b64edfb93b597753c5e716/%7b%7ddata.0.bin: the specified resource does not exist: /home/wasadmin/repository/workspaces/default/blobs/89/25/ebd281b64edfb93b597753c5e716/%7b%7ddata.0.bin does not denote an existing file
>
> I am retrieving the node from the repository using:
>
> Node rootNode = session.getRootNode();
> Node node = rootNode.getNode(key);
>
> Where key is the path of the node I want.
>
> I can only assume it is related to some in-memory indexing/caching within lucene, as a server restart fixes the problem. Do you know of any way I can overcome the problem so I don't need a restart every time I change or delete/recreate a node?
>
> Thanks,
> Adam.
>
>