Achim,

Really appreciate the guidance. I'll take a look at Karaf immediately!

Thanks,

E

On Mon, Jun 18, 2012 at 7:16 AM, Achim Nierbeck <[email protected]>wrote:

> Hi Evan,
>
> see my comments inline.
>
> regards, Achim
>
> 2012/6/15 Evan Ruff <[email protected]>:
> > Guys,
> >
> > Thanks for the pointer to Pax Web. I've been looking over the
> documentation
> > and have a couple of questions:
> >
> > 1. is Pax-Web mainly just an extension of the OSGi HTTPService with
> awesome
> > Jetty connectivity?
>
> it's much more, it gives you the war-extender to deploy std. and/or
> osgi-fied wars.
> it does have a whitebaord-extender to publish all kinds of
> "Web-services" as Servlets,
> filters and jsps. And much more ...
>
> > 2. Can I configure multiple connectors? My application relies on SSL set
> up
> > using the embedded SslSocketConnector/SelectChannelConnector classes of
> > jetty.
>
> Yes this can be done. You have the ability to configure this through
> the configuration admin service.
> Another reason to take a look at Karaf, cause it will bring you all
> the needed parts out-of-the-box,
> and you are still able to "down-strip" it if you like.
>
> > 3. Can I harden it strictly for my application? I have some security
> > requirements that I need to be very careful with... mainly that would
> mean
> > insuring that there is not any external facing servlets other than mine
> > (aka, no admin) etc...
> >
>
> well right now Pax Web only gives you the possibility to deploy all kinds
> of
> web artefacts, either through std. OSGi Jars with Activator, through
> blueprint.xml definitions - using the whiteboard-pattern
> or by deploying either WARs with and without OSGi Manifests.
> What ever you deploy is up to you.
> So the hardening is mainly your part in either allowing or disallowing
> to install certain bundles
> after the system is up-to date.
>
> > What are the disadvantages of using embedded Felix? I assumed that it
> would
> > facilitate easier packaging and deployment, is that not true?
>
> I'm repeating myself, I suggest taking a look at Apache Karaf it uses
> Felix as the
> OSGi Framework and it'll give you a lot of other extra features that
> come very handy
> when migrating a application to the osgi world.
>
>
>
> >
> > Thanks,
> >
> > E
> >
> > On Fri, Jun 15, 2012 at 2:57 AM, Achim Nierbeck <[email protected]
> >wrote:
> >
> >> And if you want to have some more stuff like JAAS or Logging out of
> >> the box working for you
> >> use Apache Karaf which uses Felix as the OSGi framework and brings
> >> along everything you need for Pax Web :)
> >>
> >> regards, Achim
> >>
> >> 2012/6/15 Allen Lau <[email protected]>:
> >> > Unless you really need to embed Felix, why not run the Felix
> distribution
> >> > and add something like Pax-Web which embeds Jetty to be
> >> > your WAR/WAB web container?
> >> >
> >> > On Thu, Jun 14, 2012 at 2:03 PM, Evan Ruff
> >> > <[email protected]>wrote:
> >> >
> >> >> Hey guys,
> >> >>
> >> >> I'm just getting started with Felix and OSGi in general. I've
> >> >> been cursing around trying to find some information about using Felix
> >> and
> >> >> I've gotten stuck on the most trivial example! I think I must be
> missing
> >> >> some sort of basic concept and I was hoping someone could tell me
> what
> >> I'm
> >> >> doing wrong?
> >> >>
> >> >> For a little background, I'm trying to migrate a web-app to a more
> >> modular,
> >> >> OSGi based, installable application. I want to distribute my
> application
> >> >> and currently, that requires the administrator to set up a Jetty
> server
> >> and
> >> >> install my Webapp. I'd much rather have a single application that
> >> contains
> >> >> it's own Jetty server and then have the web-apps and their supporting
> >> J2EE
> >> >> pieces be installed as OSGi modules.
> >> >>
> >> >> To start, I've created a new Java Project, added felix to the class
> path
> >> >> and spun up the following main:
> >> >> public static void main( String[] args ) throws BundleException
> >> >>  {
> >> >> FrameworkFactory frameworkFactory = ServiceLoader.load(
> >> >> FrameworkFactory.class ).iterator().next();
> >> >>  Map<String, String> config = new HashMap<String, String>();
> >> >> Framework framework = frameworkFactory.newFramework( config );
> >> >>  framework.start();
> >> >>  BundleContext context = framework.getBundleContext();
> >> >> List<Bundle> installedBundles = new LinkedList<Bundle>();
> >> >>
> >> >> installedBundles.add( context.installBundle(
> >> >> "file:lib/org.apache.felix.http.bundle-2.2.0.jar" ) );
> >> >>  installedBundles.add( context.installBundle(
> >> >> "file:lib/org.apache.felix.log-1.0.1.jar" ) );
> >> >>  installedBundles.add( context.installBundle(
> >> >> "file:plugins/com.payPlum.HelloServlet_1.0.0.201206141509.jar" ) );
> >> >>
> >> >> for ( Bundle bundle : installedBundles )
> >> >> {
> >> >>  System.out.println( "Starting Bundle: " + bundle.getSymbolicName()
> );
> >> >> bundle.start();
> >> >>  }
> >> >> }
> >> >>
> >> >> Which I pulled out of a  tutorial about embedding Felix.
> >> >>
> >> >> I'm running into trouble when I get to the HelloServlet bundle. The
> >> >> HelloServlet bundle is the simpliest thing I could write based off of
> >> the
> >> >> HelloOSGi tutorials that were around. It's a pretty basic Activator,
> >> >> registering the servlet as described in the Felix docs:
> >> >>
> >> >> public void start( BundleContext context ) throws Exception
> >> >> {
> >> >>  ServiceReference<HttpService> sRef = context.getServiceReference(
> >> >> HttpService.class );
> >> >> if (sRef != null)
> >> >>  {
> >> >> HttpService service = (HttpService) context.getService( sRef );
> >> >>  service.registerServlet( "/hello", new HelloServlet(), null, null );
> >> >> }
> >> >>  }
> >> >>
> >> >> The HelloServlet bundle has org.osgi.framework and
> >> org.osgi.service.http in
> >> >> the "Import-Package" part of the manifest.
> >> >>
> >> >> When I run everything, I get a "Unable to resolve 4.0: missing
> >> requirement
> >> >> [4.0] osgi.wiring.package;
> >> >> (&(osgi.wiring.package=org.osgi.service.http)(version>=1.2.1))"
> >> exception
> >> >> when starting the HelloServlet bundle. I assume this is because my
> Felix
> >> >> container isn't registering th http-bundle properly.
> >> >>
> >> >> How do I get this sort of thing to work in an embedded scenario like
> >> this?
> >> >>
> >> >> FWIW, I had: config.put( Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA,
> >> >> "org.osgi.service.http; version=4.0.0" ); Iin there and, when that
> >> >> happened, I was getting a NoClassDefFoundError NamespaceException,
> >> assuming
> >> >> that it was looking for something other than the felix.http.bundle.
> >> >>
> >> >> I really appreciate any help you guys can give me. Thanks!
> >> >>
> >> >> E
> >> >>
> >>
> >>
> >>
> >> --
> >>
> >> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> >> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
> >> Committer & Project Lead
> >> OPS4J Pax for Vaadin
> >> <http://team.ops4j.org/wiki/display/PAXVAADIN/Home> Commiter & Project
> >> Lead
> >> blog <http://notizblog.nierbeck.de/>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
>
>
>
> --
>
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
> Committer & Project Lead
> OPS4J Pax for Vaadin
> <http://team.ops4j.org/wiki/display/PAXVAADIN/Home> Commiter & Project
> Lead
> blog <http://notizblog.nierbeck.de/>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to