Hi Sten,
Sten Roger Sandvik schrieb: > Hi. > > Been away for a week now so just wondering if there was any conclusion here? > I would personally like a launcher framework for Felix that supports both > standalone and servlet deployment. But, should Felix roll it's own launcher > subproject or try to include the one from Sling? I share your opinion here. Therefore I am currently running an informal discussion on the Sling dev list on the opinions of the Sling community to offer the Sling launcher to the Apache Felix project [1]. When I know more, I will post to this list again. Regards Felix [1] http://markmail.org/thread/e3pqzoshqge2ezxb > > /srs > > On Sun, Oct 11, 2009 at 2:05 PM, Felix Meschberger <[email protected]>wrote: > >> Hi >> >> Richard S. Hall schrieb: >>> On 10/10/09 22:46, Felix Meschberger wrote: >>>> Hi, >>>> >>>> Richard S. Hall schrieb: >>>> >>>>> On 10/9/09 14:01, Edelson, Justin wrote: >>>>> >>>>>> Finally, I do think it's a worthwhile discussion to see if the Sling >>>>>> launcher should be better housed in the Felix or Karaf projects, >>>>>> merely because, as you point out, it "has nothing really to do with >>>>>> Sling." >>>>>> >>>>>> >>>>> Well, if it makes sense, I think having another launcher subproject >>>>> isn't a bad idea, especially since we tell people that we don't expect >>>>> our default launcher to be sufficient for everyone, it is just a basic >>>>> launcher. >>>>> >>>>> Does anyone know if the web app launcher is completely different than >>>>> Main? Just wondering if there is some synergy... >>>>> >>>> I didn't look at our Main recently (actually, I somewhat lost track >>>> since starting the Sling launcher way back in the framework 1.0.4 >> times). >>>> But I think functionality wise they are probably close and finding >>>> synergy would be an optimum to find IMHO. The main difference is that >>>> the Sling launcher comes in two facets: for the Java standalone >>>> application case (as Main does) and for the Servlet container case. >>>> >>> Well, maybe the Servlet container case could just build on the existing >>> launcher... >> Well, that's exactly how the Servlet container case evolved in the Sling >> launcher: we had the standalone case (actually I started from the 1.0.4 >> Main) and then refactored into a common case with standalone and servlet >> container embeddings. ;-) >> >> Regards >> Felix >> >>> -> richard >>> >>>> Regards >>>> Felix >>>> >>>> >>>>> -> richard >>>>> >>>>> >>>>>> Justin >>>>>> >>>>>> ________________________________ >>>>>> >>>>>> From: Felix Meschberger [mailto:[email protected]] >>>>>> Sent: Fri 10/9/2009 6:51 AM >>>>>> To: [email protected] >>>>>> Subject: Re: Default web app integration behavior >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Edelson, Justin schrieb: >>>>>> >>>>>> >>>>>>> Felix Meschberger wrote: >>>>>>> >>>>>>> >>>>>>>> I wonder, why you did not propose your extensions to Sling ? It >>>>>>>> would be >>>>>>>> interesting to hear, what you need and whether we could embrace >> them. >>>>>>>> >>>>>>> Not because I don't like Sling :) >>>>>>> >>>>>>> >>>>>> I am far from assuming that, of course ;-) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Mostly because what I did was to take things away from Sling's >>>>>>> launcher (I think I said somewhere in this thread that I'd like Felix >>>>>>> to do a subset of what Sling does). Specifically, as you noted, Sling >>>>>>> shares launcher code between the standalone and webapp versions and >>>>>>> there's some added complexity as a result. IIRC, there's also a fair >>>>>>> bit of code in there which appears to allow for the launcher to be >>>>>>> replaced at runtime and I haven't had the time to research why this >>>>>>> was done (and didn't want to post a question to the dev list without >>>>>>> doing the necessary research). Also, the initial project where this >>>>>>> came up is distinct from our Sling projects, i.e. it doesn't use JCR >>>>>>> and is more "service-orientated" than "resource-orientated." >>>>>>> >>>>>>> >>>>>> Please keep in mind, that the Sling launcher has nothing really to do >>>>>> with Sling, though currently in the sling.properties file there are a >>>>>> few Sling specific properties ... >>>>>> >>>>>> The point about "launcher to be replaced at runtime" is not exactly >>>>>> correct. The functionality is to allow to update the framework at >>>>>> runtime by updating the system bundle (as it is stipulated by the core >>>>>> spec). This is something which must be done outside of the framework >>>>>> and >>>>>> proves very useful. >>>>>> >>>>>> >>>>>> >>>>>>> Also, in Sling, Filter support is limited to wrapping Sling >>>>>>> resources. For example (and correct me if I'm wrong), there's no way >>>>>>> with Sling currently to put a filter in front of the web console (and >>>>>>> part of this project is to put LDAP auth in front of the console). As >>>>>>> a result, I implemented my own "Filter Bridge" based on the Equinox >>>>>>> Servlet Bridge which I'm now in a position to throw away because >>>>>>> Felix HttpService bridge supports Filters. I'd certainly be >>>>>>> interested in seeing how/if Sling is going to move away from the >>>>>>> Equinox bridge now that Felix provides a suitable replacement and >>>>>>> whether or not one this will result in the ability to use Filters >>>>>>> across all HttpService-based requests. >>>>>>> >>>>>>> >>>>>> Yes, that's true, the Sling launcher does not currently support the >>>>>> full >>>>>> scope of what is possible in a general web application. >>>>>> >>>>>> With the advent of Sten's new HTTP Service implementation, it would >>>>>> finally be possible to allow for servlet container level filters to be >>>>>> supported in an environment agnostic way. >>>>>> >>>>>> This is also something on a virtual todo list of mine with respect to >>>>>> the Sling launcher. >>>>>> >>>>>> >>>>>> >>>>>>> >>>>>>>>> Felix will provide a ServletContextListener in the proxy module >>>>>>>>> named DefaultFelixListener. This class will create a configuration >>>>>>>>> map and then instantiate Felix using this map. >>>>>>>>> The map is populated with: >>>>>>>>> -- System properties >>>>>>>>> >>>>>>>>> >>>>>>> >>>>>>>> These are problematic in a servlet and application container >>>>>>>> environment. For example for the WebSphere App Server which is >>>>>>>> based on >>>>>>>> Equinox it contains properties which interfere with the Apache Felix >>>>>>>> container. As a result in the Sling Web launcher we do *not* include >>>>>>>> sytsem properties by default. >>>>>>>> >>>>>>>> >>>>>>> Good to know. What do you think about looking for a system property >>>>>>> which controls whether or not system properties are added to the >>>>>>> configuration map? It could (should?) default to false. >>>>>>> >>>>>>> >>>>>> There is such a property. It is named "sling.ignoreSystemProperties" >>>>>> and >>>>>> defaults to true in the Servlet container case and to false in the >>>>>> standalone application case. >>>>>> >>>>>> >>>>>> >>>>>>> >>>>>>>> This SNAPSHOT support might be an interesting add-on to the Sling >>>>>>>> launcher. Could you provide a patch ? >>>>>>>> >>>>>>>> >>>>>>> Sure. What about .war support? This is probably unnecessary for the >>>>>>> vast majority of Sling users, but I don't see the harm (if you don't >>>>>>> want to have WAR files in the bundles directory tree, don't put them >>>>>>> there). >>>>>>> >>>>>>> >>>>>> In fact we at Day might also have such a requirement. With Sten's >>>>>> implementation this might finally come true (right we could have done >>>>>> this with PAX already ... but again, if we can do it in a container >>>>>> agnostic way, it is much better. >>>>>> >>>>>> So nothing, we would not be eager to add in Sling's implementation. >>>>>> >>>>>> Regards >>>>>> Felix >>>>>> >>>>>> >>>>>> >>>>>>> Justin >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [email protected] >>>>>> For additional commands, e-mail: [email protected] >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>>> >>>>> >>>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

