You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@archiva.apache.org by Andrew Williams <an...@handyande.co.uk> on 2007/01/30 02:52:53 UTC
Appserver container woes (was re: [plexus-scm] [5531] plexus-appserver/trunk....)
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
Re: Appserver container woes (was re: [plexus-scm] [5531] plexus-appserver/trunk....)
Posted by Brett Porter <br...@apache.org>.
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
Re: Appserver container woes (was re: [plexus-scm] [5531] plexus-appserver/trunk....)
Posted by Andrew Williams <an...@handyande.co.uk>.
OK, archiva guys - this is now fixed, though I guess that the hack
brett put in made your errors go away a day earlier.
So just FYI really.
A
On 30 Jan 2007, at 01:52, 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
>