You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by "Rupert Westenthaler (JIRA)" <ji...@apache.org> on 2012/12/13 07:47:21 UTC

[jira] [Commented] (STANBOL-841) Add support for Servlet API 3.+

    [ https://issues.apache.org/jira/browse/STANBOL-841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13530732#comment-13530732 ] 

Rupert Westenthaler commented on STANBOL-841:
---------------------------------------------

When running in Tomcat 7 (Servlet API 3.0) the following exception is thrown during startup

12.12.2012 22:44:50.265 *ERROR* [FelixDispatchQueue] org.apache.sling.installer.core FrameworkEvent ERROR (org.osgi.framework.ServiceException: Service factory exception: javax/servlet/GenericServlet) org.osgi.framework.ServiceException: Service factory exception: javax/servlet/GenericServlet
	at org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:314)
	at org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:221)
	at org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:297)
	at org.apache.felix.framework.Felix.getService(Felix.java:3014)
	at org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:329)
	at org.osgi.util.tracker.ServiceTracker.addingService(ServiceTracker.java:442)
	at org.apache.felix.http.whiteboard.internal.tracker.AbstractTracker.addingService(AbstractTracker.java:35)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840)
	at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:871)
	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733)
	at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
	at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3769)
	at org.apache.felix.framework.Felix.access$000(Felix.java:80)
	at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:722)
	at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107)
	at org.apache.felix.framework.Felix.registerService(Felix.java:2854)
	at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:251)
	at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:229)
	at org.apache.sling.installer.core.impl.Activator.start(Activator.java:90)
	at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:629)
	at org.apache.felix.framework.Felix.activateBundle(Felix.java:1835)
	at org.apache.felix.framework.Felix.startBundle(Felix.java:1752)
	at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1156)
	at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.NoClassDefFoundError: javax/servlet/GenericServlet
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
	at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1907)
	at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:727)
	at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)
	at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at org.apache.sling.installer.core.impl.Activator$1.getService(Activator.java:101)
	at org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:310)
	... 27 more
Caused by: java.lang.ClassNotFoundException: javax.servlet.GenericServlet not found by org.apache.sling.installer.core [197]
	at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787)
	at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)
	at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	... 37 more

This exception does not occur with the stable launcher. However the Sling installer framework is still functional as otherwise the default configuration of Stanbol would not be correctly applied.

This issue need further investigation
                
> Add support for Servlet API 3.+
> -------------------------------
>
>                 Key: STANBOL-841
>                 URL: https://issues.apache.org/jira/browse/STANBOL-841
>             Project: Stanbol
>          Issue Type: Improvement
>          Components: Commons, Web UI
>            Reporter: Rupert Westenthaler
>            Assignee: Rupert Westenthaler
>
> Stanbol is currently not compatible with Web Container that provides the Servlet API 3.0 (such as Tomcat 7). The reason for that is that the OSGI version ranges for the javax.servlet.* packages used by Stanbol is [2.5.0,3.0.0).
> First tests have not shown major issues when running using the Servlet API 3.0 because of that the suggestion is to modify the used range to [2.5.0,4.0.0)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira