I have put in a temporary fix for Archiva - if you have the latest
plexus-webdav-api snapshot (build 6) it should work.
- Brett
On 30/01/2007, at 12:52 PM, Andrew Williams wrote:
OK, so the fault was not in the appserver code brett kindly
committed - internally that works fine.
(My apologies for wrongly suggesting it was broken)
The problem is that the container the application instances now see
is the server container to which we apply a different realm. OK, so
not a problem in itself the real issue is that Jetty service
publishes this container to the servlets.
plexus-xwork-integration uses it without trouble, as it just grabs
the context variables which are the same whether it is the
appserver or the application child (as was).
plexus-webdav on the other hand uses the container to look up
components. When it does this it is not informed of the custom
realm and defaults to the [plexus.core] realm which is very wrong.
This is the cause of the 500 errors in archiva etc etc so it needs
fixed fast.
the options appear to be:
1) Publish the realm alongside the container with a key such as
(PLEXUS_REALM_KEY) [bad idea]
2) Wrap the container so that all methods dependent on the right
realm are handled correctly
3) Revert to the old setup where the applications all have their
own container
4) Stop publishing the container (as it is misleading now) and
publish the context etc that is valid information. This would need
a rewrite for webdav to do the lookups externally rather than
internally.
My opinion is that:
1) sucks
2) is probably a bad idea
3) is easy, but takes us back to our slightly heavier appserver
4) likely a lot of work impacting much code and may not even work -
I am not sure
Please offer your opinions or any suggested fixes, I think we have
a long list of folk wanting this wrapped up.
Andy