Hi Hans-Arno,

might want to take a look at the integration tests for the
Pax-Web-ServletBridge module[1], which still resides in a specialized
branch. It might be a good source for looking on a how to embed ...

regards, Achim

[1] -
https://github.com/ops4j/org.ops4j.pax.web/tree/PAXWEB-606-Servlet-Bridge/samples/webapp-bridge-war


2016-06-28 13:24 GMT+02:00 Hans-Arno Nuernberger <
[email protected]>:

> Hi Achim,
>
>
>
> we want to migrate an existing web application to an OSGi platform. Some
> of our clients host the application by themselves. They have their own
> infrastructure for web applications and strong environmental requirements.
> That's why we think it is much better to end up with simple war which runs
> on our client's preferred application server.
>
>
>
> Out of your answer I read, it is not as simple I supposed it is to embed
> Karaf into tomcat?
>
>
>
> @all: Can anybody help me to understand why the class loading delegation
> does not work? The missing class is in a java.*package. From what I
> learned, this should be delegated to the parent class loader.
>
>
>
> Regards
>
> Hans-Arno
>
>
>
>
>
> *Von:* Achim Nierbeck [mailto:[email protected]]
> *Gesendet:* Dienstag, 28. Juni 2016 12:32
> *An:* [email protected]
> *Betreff:* Re: Embedding Karaf 4.0.5 in web app - NoClassDefFoundError on
> startup
>
>
>
> Hi Milen and others whom it may concern ;)
>
>
>
> ... the biggest drawback is still how to run from ServletConextListener.
>
> AFAIK the felix Servlet Bridge is the only one available right now, though
> we do have some Work-InProgress for Pax-Web.
>
> If you ask Serge Huber, he might be able to give you some more feedback
> about the pain he went through.
>
> It's the reason he started contributing a Servlet Bridge to Pax-Web which
> is still work in progress.
>
> Involvement is highly appreciated ;)
>
>
>
> In general I still favor the other way round ... but I guess for certain
> migrational paths it might be a viable solution.
>
>
>
> regards, Achim
>
>
>
>
>
> 2016-06-28 12:18 GMT+02:00 Milen Dyankov <[email protected]>:
>
> Achim,
>
> doing something similar is on my todo list (please don't ask why) so
> if there is any issue with embedding Karaf in web app I'm as well very
> interested to get it solved.
>
> Best,
> Milen
>
>
> On Tue, Jun 28, 2016 at 12:11 PM, Achim Nierbeck
> <[email protected]> wrote:
> > Hi,
> >
> > why not the other way round?
> > Just run your webapplication inside Karaf, that's what Karaf is build
> for.
> > It's like you're trying to start a JBoss inside your Tomcat, why would
> > anyone do that :)
> >
> > regards, Achim
> >
> >
> >
> >
> >
> > 2016-06-28 12:06 GMT+02:00 slarti70 <
> [email protected]>:
> >>
> >> Hi,
> >>
> >> I am trying to start Karaf embedded in a Webapp using Tomcat 8.0.35 and
> >> Java
> >> 1.7.0_79.
> >> The Startup is done using a ServletContextListener, which simply
> creates a
> >> Main instance and calls launch() method.
> >>
> >>         Main main = new Main( new String[ 0 ] );
> >>         try {
> >>           main.launch();
> >>           this.framework = main.getFramework();
> >>         } catch ( Exception e ) {
> >>           main = null;
> >>           e.printStackTrace();
> >> //          logger.error( "Error starting Karaf", e );
> >>         }
> >>
> >> The startup bundles defined in startup.properties are the same as in the
> >> 4.0.5 distribution, which perfectly starts up standalone:
> >>
> >> # Bundles to be started on startup, with startlevel
> >> mvn\:org.apache.sshd/sshd-core/0.14.0 = 20
> >> mvn\:org.apache.felix/org.apache.felix.metatype/1.1.2 = 5
> >>
> mvn\:org.apache.karaf.services/org.apache.karaf.services.eventadmin/4.0.5
> >> =
> >> 5
> >> mvn\:org.ops4j.pax.url/pax-url-aether/2.4.7 = 5
> >> mvn\:org.ops4j.pax.logging/pax-logging-api/1.8.5 = 8
> >> mvn\:org.ops4j.pax.logging/pax-logging-service/1.8.5 = 8
> >> mvn\:org.apache.felix/org.apache.felix.configadmin/1.8.8 = 10
> >> mvn\:org.apache.felix/org.apache.felix.fileinstall/3.5.4 = 11
> >> mvn\:org.apache.karaf.features/org.apache.karaf.features.core/4.0.5 = 15
> >>
> >>
> >> The error on startup is the following:
> >> Exception in thread "FelixStartLevel" java.lang.NoClassDefFoundError:
> >> java/util/logging/LogRecord
> >>         at
> >>
> >>
> org.ops4j.pax.logging.service.internal.JdkHandler.publish(JdkHandler.java:82)
> >>         at java.util.logging.Logger.log(Logger.java:616)
> >>         at java.util.logging.Logger.doLog(Logger.java:641)
> >>         at java.util.logging.Logger.logp(Logger.java:757)
> >>         at
> org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:180)
> >>         at
> >> org.apache.juli.logging.DirectJDKLog.debug(DirectJDKLog.java:103)
> >>         at
> >>
> >>
> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1174)
> >>         at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
> >>         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> >>         at org.apache.felix.framework.Logger.doLog(Logger.java:89)
> >>         at org.apache.felix.framework.Logger._log(Logger.java:118)
> >>         at org.apache.felix.framework.Logger.log(Logger.java:62)
> >>         at
> >> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1376)
> >>         at
> >>
> >>
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
> >>         at java.lang.Thread.run(Thread.java:745)
> >>
> >> The complete log is attached here:
> >> startup_log.txt
> >> <http://karaf.922171.n3.nabble.com/file/n4046969/startup_log.txt>
> >>
> >> Can anybody help to understand, why the WebappClassLoader does not
> >> delegate
> >> to the JRE classes for the boot bundles?
> >>
> >> Workaround trials:
> >> I have found out, that the responsible bundles are the two
> >> org.ops4j.pax.logging bundles. I tried to use slf4j/log4j bundles
> instead
> >> and added felix.log to meet the requirements of felix.metatype:
> >> # mvn\:org.ops4j.pax.logging/pax-logging-api/1.8.5 = 8
> >> # mvn\:org.ops4j.pax.logging/pax-logging-service/1.8.5 = 8
> >> mvn\:org.slf4j/slf4j.log4j12/1.7.21 = 8
> >> mvn\:org.slf4j/slf4j.api/1.7.21 = 8
> >> mvn\:org.apache.log4j/log4j/1.2.17 = 8
> >> mvn\:org.apache.felix/org.apache.felix.log/1.0.1 = 8
> >>
> >> This starts up all boot bundles, but leads to a not even less strange
> >> exception when installing the boot features:
> >>
> >> 2016-06-28 11:57:39,083  [7-thread-1] WARN
> >> org.apache.karaf.features.internal.osgi.Activator            () - Error
> >> starting activator
> >> java.lang.IllegalStateException: Invalid BundleContext.
> >>         at
> >>
> >>
> org.apache.felix.framework.BundleContextImpl.checkValidity(BundleContextImpl.java:511)
> >>         at
> >>
> >>
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)
> >>         at
> >>
> >>
> org.apache.karaf.util.tracker.BaseActivator.registerMBean(BaseActivator.java:290)
> >>         at
> >>
> >>
> org.apache.karaf.features.internal.osgi.Activator.doStart(Activator.java:264)
> >>         at
> >> org.apache.karaf.util.tracker.BaseActivator.run(BaseActivator.java:233)
> >>         at
> >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> >>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> >>         at
> >>
> >>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> >>         at
> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> >>         at java.lang.Thread.run(Thread.java:745)
> >>
> >> Log attached:
> >> startup_log2.txt
> >> <http://karaf.922171.n3.nabble.com/file/n4046969/startup_log2.txt>
> >>
> >> Any help would be appreciated.
> >>
> >> Hans-Arno
> >>
> >> P.S.: I am a OSGi/Karaf newbee
> >>
> >>
> >>
> >>
> >> --
> >> View this message in context:
> >>
> http://karaf.922171.n3.nabble.com/Embedding-Karaf-4-0-5-in-web-app-NoClassDefFoundError-on-startup-tp4046969.html
> >> Sent from the Karaf - User mailing list archive at Nabble.com.
> >
> >
> >
> >
> > --
> >
> > Apache Member
> > Apache Karaf <http://karaf.apache.org/> Committer & PMC
> > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer
> &
> > Project Lead
> > blog <http://notizblog.nierbeck.de/>
> > Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
> >
> > Software Architect / Project Manager / Scrum Master
> >
>
>
> --
> http://about.me/milen
>
>
>
>
>
> --
>
>
> Apache Member
>
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
> Project Lead
> blog <http://notizblog.nierbeck.de/>
>
> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>
>
>
> Software Architect / Project Manager / Scrum Master
>
>
>



-- 

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master

Reply via email to