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
>