-
1. Re: ClassCastException: MyFilter cannot be cast to javax.servlet.Filter
mreasy Sep 19, 2011 5:30 AM (in response to mreasy)Versions tested with:
- jboss-as-7.1.0.Alpha1 as of 2011-09-15
- jboss-as-7.1.0.Alpha2 as of 2011-09-19
-
2. Re: ClassCastException: MyFilter cannot be cast to javax.servlet.Filter
mreasy Sep 19, 2011 9:14 AM (in response to mreasy)Possibly related to https://issues.jboss.org/browse/AS7-202 ?
Adding OSGi-meta-data to the WAR maybe would resolve the class-loader issue, but is not deploying due to https://issues.jboss.org/browse/AS7-1601 / https://issues.jboss.org/browse/AS7-1551
-
3. Re: ClassCastException: MyFilter cannot be cast to javax.servlet.Filter
thomas.diesler Sep 19, 2011 9:22 PM (in response to mreasy)1 of 1 people found this helpfulThe CCE is most likely due to the bundle containing the filter not using the same exporter for package 'javax.servlet' as the web container. Assuming that the web container loads that class from module javaee.api you could verify that the bundle has an import for that package and that it is indeed imported from module javaee.api. If the bundle loads javax.servlet.Filter from any where else you would you'd get that that CCE. Setting the log level to DEBUG should show you where javax.servlet gets wired to.
When you're positive that the imports are setup correctly, please create a little sample project that isolates the issue and reference it from a jira you create for it. Cheers.
-
4. Re: ClassCastException: MyFilter cannot be cast to javax.servlet.Filter
mreasy Sep 20, 2011 4:35 AM (in response to thomas.diesler)Hi Thomas, thanks for your reply.
Mabe you (and others) can have a look at the following log, where I annoted the loading of the OSGi-bundle and the WAR, which depends upon it. Maybe most interesting are the 2 lines loading the Filter-classes:
Loading class com.companyname.util.servlet.filter.compression.GZIPFilter locally from Module "deployment.com.companyname.common.CompUtil:0.0.1.SNAPSHOT" from Service Module Loader Found previously loaded interface javax.servlet.Filter from Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader
For me this looks like both are loaded by (the same?) "Service Module Loader".
Here comes the whole log, see especially the lines annoted with '###' - also attached as attachment for convenience:
...### Start-up TRACE [org.jboss.modules] (Controller Boot Thread) Finding class javax.servlet.Filter from Module "org.jboss.weld.core:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (MSC service thread 1-9) Defined class org.omg.PortableServer.ServantRetentionPolicyOperations in Module "org.jacorb:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (Controller Boot Thread) Finding local class javax.servlet.Filter from Module "javax.servlet.api:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (MSC service thread 1-9) Defined class org.omg.PortableServer.ServantRetentionPolicy in Module "org.jacorb:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (Controller Boot Thread) Loading class javax.servlet.Filter locally from Module "javax.servlet.api:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (MSC service thread 1-9) Finding class org.omg.PortableServer.RequestProcessingPolicy from Module "org.jacorb:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (MSC service thread 1-2) Defined class org.jboss.jca.core.connectionmanager.AbstractConnectionManager in Module "org.jboss.ironjacamar.impl:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (Controller Boot Thread) Attempting to define class javax.servlet.Filter in Module "javax.servlet.api:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (MSC service thread 1-9) Finding local class org.omg.PortableServer.RequestProcessingPolicy from Module "org.jacorb:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (MSC service thread 1-2) Finding class org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl from Module "org.jboss.ironjacamar.impl:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (Controller Boot Thread) Defined class javax.servlet.Filter in Module "javax.servlet.api:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) ... TRACE [org.jboss.modules] (Controller Boot Thread) Finding class javax.servlet.Filter from Module "org.jboss.resteasy.resteasy-jaxrs:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (Controller Boot Thread) Finding local class javax.servlet.Filter from Module "javax.servlet.api:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (MSC service thread 1-15) Attempting to define class org.hornetq.core.message.impl.MessageInternal in Module "org.hornetq:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (Controller Boot Thread) Found previously loaded interface javax.servlet.Filter from Module "javax.servlet.api:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) ... TRACE [org.jboss.modules] (MSC service thread 1-9) Finding class javax.servlet.Filter from Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-9) Finding local class javax.servlet.Filter from Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-9) Loading class javax.servlet.Filter locally from Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-9) Attempting to define class javax.servlet.Filter in Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-9) Defined class javax.servlet.Filter in Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader ... TRACE [org.jboss.modules] (MSC service thread 1-9) Finding class javax.servlet.FilterChain from Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-9) Finding local class javax.servlet.FilterChain from Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-9) Loading class javax.servlet.FilterChain locally from Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-9) Attempting to define class javax.servlet.FilterChain in Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-9) Defined class javax.servlet.FilterChain in Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader ... ### This is the OSGi-bundle deploying with export of the required Filter-class: INFO [org.jboss.osgi.framework.internal.BundleManager] (MSC service thread 1-15) Install bundle: com.companyname.common.CompUtil:0.0.1.SNAPSHOT TRACE [org.jboss.osgi.framework.internal.AbstractBundleState] (MSC service thread 1-15) changeState: com.companyname.common.CompUtil:0.0.1.SNAPSHOT -> INSTALLED TRACE [org.jboss.osgi.deployment.interceptor.AbstractLifecycleInterceptorService] (MSC service thread 1-15) Invoke: [org.jboss.osgi.framework.internal.WebXMLVerifierInterceptor$1,order=1000] with state INSTALLED on CompUtil.jar TRACE [org.jboss.osgi.resolver.spi.AbstractResolver] (MSC service thread 1-15) AbstractModule: [com.companyname.common.CompUtil:0.0.1.SNAPSHOT] Capabilities Bundle[com.companyname.common.CompUtil:0.0.1.SNAPSHOT] ... Export-Package[com.companyname.util.servlet.filter.compression:0.0.1.SNAPSHOT] ... ### Here comes the WAR with dependency to Bundle[com.companyname.common.CompUtil:0.0.1.SNAPSHOT] for loading class com.companyname.util.servlet.filter.compression.GZIPFilter DEBUG [org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor] (MSC service thread 1-8) Configuring component class: com.companyname.util.servlet.filter.compression.GZIPFilter named com.companyname.util.servlet.filter.compression.GZIPFilter TRACE [org.jboss.modules] (MSC service thread 1-8) Finding class com.companyname.util.servlet.filter.compression.GZIPFilter from Module "deployment.CompSystemInfo.war:main" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-8) Finding local class com.companyname.util.servlet.filter.compression.GZIPFilter from Module "deployment.com.companyname.common.CompUtil:0.0.1.SNAPSHOT" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-8) Loading class com.companyname.util.servlet.filter.compression.GZIPFilter locally from Module "deployment.com.companyname.common.CompUtil:0.0.1.SNAPSHOT" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-8) Attempting to define class com.companyname.util.servlet.filter.compression.GZIPFilter in Module "deployment.com.companyname.common.CompUtil:0.0.1.SNAPSHOT" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-8) Attempting to define package com.companyname.util.servlet.filter.compression in Module "deployment.com.companyname.common.CompUtil:0.0.1.SNAPSHOT" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-8) Defined package com.companyname.util.servlet.filter.compression in Module "deployment.com.companyname.common.CompUtil:0.0.1.SNAPSHOT" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-8) Finding class javax.servlet.Filter from Module "deployment.com.companyname.common.CompUtil:0.0.1.SNAPSHOT" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-8) Finding local class javax.servlet.Filter from Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-8) Found previously loaded interface javax.servlet.Filter from Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader TRACE [org.jboss.modules] (MSC service thread 1-8) Defined class com.companyname.util.servlet.filter.compression.GZIPFilter in Module "deployment.com.companyname.common.CompUtil:0.0.1.SNAPSHOT" from Service Module Loader DEBUG [org.jboss.as.ee.component.deployers.EEClassConfigurationProcessor] (MSC service thread 1-8) Configuring EE module class: class com.companyname.util.servlet.filter.compression.GZIPFilter ... TRACE [org.jboss.as.ee.component.deployers.ComponentInstallProcessor] (MSC service thread 1-8) Installing component com.companyname.util.servlet.filter.compression.GZIPFilter ... DEBUG [org.apache.catalina.core.StandardContext] (MSC service thread 1-12) Starting /CompSystemInfo ... DEBUG [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/CompSystemInfo]] (MSC service thread 1-12) Starting filter 'GZIPFilter' ... TRACE [org.jboss.modules] (MSC service thread 1-12) Finding local class javax.servlet.Filter from Module "javax.servlet.api:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) TRACE [org.jboss.modules] (MSC service thread 1-12) Found previously loaded interface javax.servlet.Filter from Module "javax.servlet.api:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) ... ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/CompSystemInfo]] (MSC service thread 1-12) Exception starting filter GZIPFilter: java.lang.ClassCastException: com.companyname.util.servlet.filter.compression.GZIPFilter cannot be cast to javax.servlet.Filter at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:441) [jbossweb-7.0.1.Final.jar:7.1.0.Alpha2-SNAPSHOT] at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3245) [jbossweb-7.0.1.Final.jar:7.1.0.Alpha2-SNAPSHOT] at org.apache.catalina.core.StandardContext.start(StandardContext.java:3836) [jbossweb-7.0.1.Final.jar:7.1.0.Alpha2-SNAPSHOT] at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.1.0.Alpha2-SNAPSHOT.jar:7.1.0.Alpha2-SNAPSHOT] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_25] at java.lang.Thread.run(Thread.java:662) [:1.6.0_25]
-
server2.log.zip 1.6 KB
-
-
5. Re: ClassCastException: MyFilter cannot be cast to javax.servlet.Filter
wolfc Sep 20, 2011 8:01 AM (in response to mreasy)1 of 1 people found this helpfulThis doesn't look right to me.
TRACE [org.jboss.modules] (Controller Boot Thread) Loading class javax.servlet.Filter locally from Module "javax.servlet.api:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules) ... TRACE [org.jboss.modules] (MSC service thread 1-9) Loading class javax.servlet.Filter locally from Module "deployment.jboss-osgi-http:1.0.3" from Service Module Loader
-
6. Re: ClassCastException: MyFilter cannot be cast to javax.servlet.Filter
wolfc Sep 20, 2011 8:05 AM (in response to wolfc)jboss-osgi-http-1.0.3.jar contains pax-web-jetty-bundle-1.0.3.jar which contains javax.servlet.Filer (among others).
-
7. Re: ClassCastException: MyFilter cannot be cast to javax.servlet.Filter
mreasy Sep 20, 2011 10:50 AM (in response to wolfc)Great observation Carlo, thanks.
I edited the manifest of jboss-osgi-http-1.0.3.jar and removed the Export-Package entries for javax.servlet.*, and tada everything works.
The only place javax.servlet.Filter now is loaded from is this one:
Loading class javax.servlet.Filter locally from Module "javax.servlet.api:main" from local module loader @12b7eea (roots: D:\test\jboss-as-7.1.0.Alpha2-2011-09-19\modules)
which looks correct.
As far as I can see, in jboss-osgi-http's pom.xml this would mean to remove the line with javax.servlet* from the _exportcontents of the maven-bundle-plugin:
<_exportcontents> javax.servlet*;version=2.5, org.ops4j.pax.web.service;version=${version.ops4j.pax.web} </_exportcontents>
Any idea why this is in there; should I open a bug for it?
-
8. Re: ClassCastException: MyFilter cannot be cast to javax.servlet.Filter
thomas.diesler Sep 22, 2011 4:31 AM (in response to mreasy)The jboss-osgi-http bundle is the provider of the HttpService and must among other packages import/export javax.servlet. In OSGi it is perfectly valid to have more than one exporter of the same package in the system. It is the job of the resolver to generate the wirings such that all the class spaces are consistent.
In your case, one exporter of javax.servlet is the javaee.api module - another is jboss-osgi-http. Your webapp is not an OSGi bundle and hence can only wire to javax.servlet available from the javaee.api module.
10:11:15,747 INFO [org.jboss.osgi.framework.internal.BundleManager] (MSC service thread 1-2) Install bundle: javaee.api:0.0.0 10:11:15,757 TRACE [org.jboss.osgi.framework.internal.AbstractBundleState] (MSC service thread 1-2) changeState: javaee.api:0.0.0 -> INSTALLED 10:11:15,757 TRACE [org.jboss.osgi.deployment.interceptor.AbstractLifecycleInterceptorService] (MSC service thread 1-2) Invoke: [org.jboss.osgi.framework.internal.WebXMLVerifierInterceptor$1,order=1000] with state INSTALLED on javaee.api:main 10:11:15,760 TRACE [org.jboss.osgi.resolver.spi.AbstractResolver] (MSC service thread 1-2) AbstractModule: [javaee.api:0.0.0] Capabilities Bundle[javaee.api:0.0.0] Export-Package[com.sun.activation:0.0.0] Export-Package[javax.enterprise:0.0.0] Export-Package[javax.enterprise.deploy.spi.factories:0.0.0] Export-Package[javax.persistence.spi:0.0.0] Export-Package[javax.tools:0.0.0] Export-Package[javax.xml.bind:0.0.0] Export-Package[javax.print.attribute.standard:0.0.0] Export-Package[javax.ejb.embeddable:0.0.0] Export-Package[javax.xml.rpc.handler:0.0.0] Export-Package[javax.management.remote.rmi:0.0.0] Export-Package[javax.xml.crypto.dsig.keyinfo:0.0.0] Export-Package[javax.jws:0.0.0] Export-Package[javax.xml.stream:0.0.0] Export-Package[javax.enterprise.context.spi:0.0.0] Export-Package[javax.xml.ws.soap:0.0.0] Export-Package[javax.mail.util:0.0.0] Export-Package[javax.swing:0.0.0] Export-Package[javax.swing.text.html.parser:0.0.0] Export-Package[javax.xml.ws.spi.http:0.0.0] Export-Package[javax.enterprise.deploy.spi.exceptions:0.0.0] Export-Package[javax.xml.crypto:0.0.0] Export-Package[javax.enterprise.deploy.shared:0.0.0] Export-Package[org.jcp.xml.dsig:0.0.0] Export-Package[javax.enterprise.context:0.0.0] Export-Package[javax.mail.search:0.0.0] Export-Package[org.apache.xml.security.keys.content:0.0.0] Export-Package[org.apache.xml.security.keys.keyresolver.implementations:0.0.0] Export-Package[javax.el:0.0.0] Export-Package[javax.imageio.plugins.bmp:0.0.0] Export-Package[javax.lang.model.element:0.0.0] Export-Package[javax.swing.undo:0.0.0] Export-Package[org.apache.xml.security.resource:0.0.0] Export-Package[org.w3c.dom.css:0.0.0] Export-Package[javax.security.auth.spi:0.0.0] Export-Package[javax.xml:0.0.0] Export-Package[javax.xml.ws.http:0.0.0] Export-Package[javax.swing.plaf.basic:0.0.0] Export-Package[javax.ws.rs.ext:0.0.0] Export-Package[javax.naming.spi:0.0.0] Export-Package[javax.xml.crypto.dom:0.0.0] Export-Package[javax.xml.transform.dom:0.0.0] Export-Package[javax.imageio.stream:0.0.0] Export-Package[javax.xml.rpc.encoding:0.0.0] Export-Package[javax.xml.soap:0.0.0] Export-Package[javax.validation.spi:0.0.0] Export-Package[com.sun.mail.imap.protocol:0.0.0] Export-Package[org.apache.xml:0.0.0] Export-Package[javax.xml.transform.sax:0.0.0] Export-Package[org.w3c.dom.events:0.0.0] Export-Package[javax.resource.spi.security:0.0.0] Export-Package[javax.validation.constraints:0.0.0] Export-Package[javax.lang.model.util:0.0.0] Export-Package[javax.xml.bind.helpers:0.0.0] Export-Package[javax.crypto.spec:0.0.0] Export-Package[javax.print:0.0.0] Export-Package[javax.servlet:0.0.0] Export-Package[javax.jws.soap:0.0.0] Export-Package[javax.crypto.interfaces:0.0.0] Export-Package[javax.sound.midi.spi:0.0.0] Export-Package[javax.imageio.metadata:0.0.0] Export-Package[javax.servlet.descriptor:0.0.0] Export-Package[javax.imageio.spi:0.0.0] Export-Package[org.apache.xml.security.transforms.implementations:0.0.0] Export-Package[javax.mail.event:0.0.0] Export-Package[javax.ws.rs:0.0.0] Export-Package[javax.security.auth.message.callback:0.0.0] Export-Package[org.w3c.dom.traversal:0.0.0] Export-Package[org.apache.xml.security.encryption:0.0.0] Export-Package[javax.xml.validation:0.0.0] Export-Package[javax.security:0.0.0] Export-Package[javax.ejb.spi:0.0.0] Export-Package[org.apache.xml.security.utils:0.0.0] Export-Package[javax.ws:0.0.0] Export-Package[javax.swing.border:0.0.0] Export-Package[org.w3c.dom.stylesheets:0.0.0] Export-Package[com:0.0.0] Export-Package[javax.imageio:0.0.0] Export-Package[org.w3c.dom.ls:0.0.0] Export-Package[javax.swing.plaf.synth:0.0.0] Export-Package[javax.xml.rpc:0.0.0] Export-Package[com.sun.mail:0.0.0] Export-Package[javax.management.relation:0.0.0] Export-Package[javax.resource.spi.work:0.0.0] Export-Package[javax:0.0.0] Export-Package[com.sun.mail.handlers:0.0.0] Export-Package[org.apache.xml.security.keys.keyresolver:0.0.0] Export-Package[javax.xml.bind.annotation:0.0.0] Export-Package[javax.swing.text.html:0.0.0] Export-Package[org.apache.xml.security.c14n:0.0.0] Export-Package[javax.security.auth.kerberos:0.0.0] Export-Package[javax.xml.rpc.handler.soap:0.0.0] Export-Package[org.jcp.xml:0.0.0] Export-Package[org.w3c.dom.xpath:0.0.0] Export-Package[javax.persistence:0.0.0] Export-Package[javax.swing.text:0.0.0] Export-Package[com.sun:0.0.0] Export-Package[javax.accessibility:0.0.0] Export-Package[javax.naming.directory:0.0.0] Export-Package[com.sun.mail.iap:0.0.0] Export-Package[javax.imageio.plugins.jpeg:0.0.0] Export-Package[org.apache.xml.security.c14n.implementations:0.0.0] Export-Package[javax.xml.ws.handler:0.0.0] Export-Package[javax.sound.sampled:0.0.0] Export-Package[org.apache.xml.security.keys:0.0.0] Export-Package[javax.validation.groups:0.0.0] Export-Package[javax.swing.event:0.0.0] Export-Package[javax.annotation.security:0.0.0] Export-Package[javax.swing.text.rtf:0.0.0] Export-Package[javax.resource:0.0.0] Export-Package[javax.resource.cci:0.0.0] Export-Package[javax.xml.rpc.holders:0.0.0] Export-Package[javax.security.auth.callback:0.0.0] Export-Package[javax.xml.transform.stream:0.0.0] Export-Package[javax.servlet.annotation:0.0.0] Export-Package[org.apache.xml.security.keys.content.keyvalues:0.0.0] Export-Package[com.sun.activation.viewers:0.0.0] Export-Package[javax.sql.rowset.spi:0.0.0] Export-Package[javax.net:0.0.0] Export-Package[org.apache.xml.security.resource.schema:0.0.0] Export-Package[javax.enterprise.deploy.model.exceptions:0.0.0] Export-Package[javax.annotation.sql:0.0.0] Export-Package[javax.enterprise.inject:0.0.0] Export-Package[javax.servlet.jsp:0.0.0] Export-Package[javax.xml.crypto.dsig.dom:0.0.0] Export-Package[javax.crypto:0.0.0] Export-Package[javax.xml.rpc.soap:0.0.0] Export-Package[javax.net.ssl:0.0.0] Export-Package[javax.annotation:0.0.0] Export-Package[org.xml.sax:0.0.0] Export-Package[javax.enterprise.event:0.0.0] Export-Package[javax.sql.rowset.serial:0.0.0] Export-Package[org.w3c.dom:0.0.0] Export-Package[javax.management.remote:0.0.0] Export-Package[org.apache.xml.security:0.0.0] Export-Package[javax.xml.ws.spi:0.0.0] Export-Package[com.sun.mail.auth:0.0.0] Export-Package[javax.mail.internet:0.0.0] Export-Package[javax.security.auth.message.module:0.0.0] Export-Package[javax.validation:0.0.0] Export-Package[org.jcp:0.0.0] Export-Package[javax.enterprise.deploy:0.0.0] Export-Package[javax.script:0.0.0] Export-Package[javax.servlet.jsp.el:0.0.0] Export-Package[javax.xml.xpath:0.0.0] Export-Package[com.sun.activation.registries:0.0.0] Export-Package[javax.xml.transform:0.0.0] Export-Package[org.apache.xml.security.algorithms:0.0.0] Export-Package[javax.swing.colorchooser:0.0.0] Export-Package[javax.xml.ws.wsaddressing:0.0.0] Export-Package[javax.enterprise.deploy.spi.status:0.0.0] Export-Package[javax.xml.ws:0.0.0] Export-Package[javax.xml.parsers:0.0.0] Export-Package[javax.lang.model.type:0.0.0] Export-Package[javax.jms:0.0.0] Export-Package[javax.resource.spi:0.0.0] Export-Package[javax.transaction.xa:0.0.0] Export-Package[javax.print.attribute:0.0.0] Export-Package[javax.security.sasl:0.0.0] Export-Package[javax.security.auth.message.config:0.0.0] Export-Package[javax.management.loading:0.0.0] Export-Package[com.sun.mail.imap:0.0.0] Export-Package[org:0.0.0] Export-Package[javax.xml.crypto.dsig:0.0.0] Export-Package[org.apache.xml.security.exceptions:0.0.0] Export-Package[javax.naming:0.0.0] Export-Package[javax.ejb:0.0.0] Export-Package[javax.management:0.0.0] Export-Package[javax.inject:0.0.0] Export-Package[org.apache.xml.security.c14n.helper:0.0.0] Export-Package[javax.transaction:0.0.0] Export-Package[org.apache.xml.security.signature:0.0.0] Export-Package[javax.xml.bind.attachment:0.0.0] Export-Package[javax.sql:0.0.0] Export-Package[javax.swing.plaf.metal:0.0.0] Export-Package[javax.print.event:0.0.0] Export-Package[javax.sound.midi:0.0.0] Export-Package[com.sun.mail.util.logging:0.0.0] Export-Package[javax.naming.ldap:0.0.0] Export-Package[javax.xml.crypto.dsig.spec:0.0.0] Export-Package[org.apache.xml.security.utils.resolver.implementations:0.0.0] Export-Package[javax.xml.stream.util:0.0.0] Export-Package[org.apache:0.0.0] Export-Package[javax.xml.registry:0.0.0] Export-Package[javax.naming.event:0.0.0] Export-Package[javax.xml.bind.annotation.adapters:0.0.0] Export-Package[javax.imageio.event:0.0.0] Export-Package[org.xml.sax.ext:0.0.0] Export-Package[javax.sound.sampled.spi:0.0.0] Export-Package[javax.validation.bootstrap:0.0.0] Export-Package[javax.security.auth.x500:0.0.0] Export-Package[javax.security.auth.login:0.0.0] Export-Package[javax.xml.transform.stax:0.0.0] Export-Package[org.apache.xml.security.keys.storage.implementations:0.0.0] Export-Package[javax.enterprise.deploy.shared.factories:0.0.0] Export-Package[javax.swing.table:0.0.0] Export-Package[javax.swing.plaf:0.0.0] Export-Package[javax.activity:0.0.0] Export-Package[org.jcp.xml.dsig.internal.dom:0.0.0] Export-Package[javax.security.auth:0.0.0] Export-Package[javax.xml.registry.infomodel:0.0.0] Export-Package[javax.swing.plaf.multi:0.0.0] Export-Package[javax.interceptor:0.0.0] Export-Package[org.apache.xml.security.algorithms.implementations:0.0.0] Export-Package[javax.management.modelmbean:0.0.0] Export-Package[javax.resource.spi.endpoint:0.0.0] Export-Package[javax.activation:0.0.0] Export-Package[javax.servlet.http:0.0.0] Export-Package[javax.xml.bind.util:0.0.0] Export-Package[javax.lang.model:0.0.0] Export-Package[com.sun.mail.pop3:0.0.0] Export-Package[javax.servlet.jsp.tagext:0.0.0] Export-Package[javax.management.monitor:0.0.0] Export-Package[javax.persistence.criteria:0.0.0] Export-Package[javax.xml.namespace:0.0.0] Export-Package[javax.enterprise.inject.spi:0.0.0] Export-Package[javax.security.jacc:0.0.0] Export-Package[org.w3c.dom.ranges:0.0.0] Export-Package[javax.enterprise.deploy.spi:0.0.0] Export-Package[javax.management.timer:0.0.0] Export-Package[javax.enterprise.util:0.0.0] Export-Package[org.w3c.dom.html:0.0.0] Export-Package[org.apache.xml.security.keys.content.x509:0.0.0] Export-Package[javax.swing.filechooser:0.0.0] Export-Package[javax.management.openmbean:0.0.0] Export-Package[org.ietf.jgss:0.0.0] Export-Package[javax.sql.rowset:0.0.0] Export-Package[javax.enterprise.deploy.model:0.0.0] Export-Package[org.jcp.xml.dsig.internal:0.0.0] Export-Package[javax.xml.datatype:0.0.0] Export-Package[javax.decorator:0.0.0] Export-Package[javax.swing.tree:0.0.0] Export-Package[org.apache.xml.security.transforms:0.0.0] Export-Package[javax.security.cert:0.0.0] Export-Package[org.w3c.dom.bootstrap:0.0.0] Export-Package[com.sun.mail.smtp:0.0.0] Export-Package[javax.ws.rs.core:0.0.0] Export-Package[org.apache.xml.security.keys.storage:0.0.0] Export-Package[org.apache.xml.security.transforms.params:0.0.0] Export-Package[javax.persistence.metamodel:0.0.0] Export-Package[org.xml.sax.helpers:0.0.0] Export-Package[com.sun.mail.util:0.0.0] Export-Package[javax.xml.ws.handler.soap:0.0.0] Export-Package[javax.rmi.ssl:0.0.0] Export-Package[javax.xml.stream.events:0.0.0] Export-Package[javax.validation.metadata:0.0.0] Export-Package[org.apache.xml.security.utils.resolver:0.0.0] Export-Package[javax.mail:0.0.0] Export-Package[javax.security.auth.message:0.0.0] Export-Package[javax.xml.rpc.server:0.0.0] Requirements 10:11:15,784 TRACE [org.jboss.osgi.framework.internal.FrameworkEventsPlugin] (MSC service thread 1-2) AbstractBundleState INSTALLED: javaee.api:0.0.0
For your bundle the resolver has a choice and picks the jboss-osgi-http bundle as the exporter of javax.servlet. It's an interesting integration issue that I need to think about for a little while ...
If you don't need the HttpService you could remove that bundle. This would require to remove the console as well however.
Tracked by: https://issues.jboss.org/browse/AS7-1900
-
9. Re: ClassCastException: MyFilter cannot be cast to javax.servlet.Filter
mreasy Sep 22, 2011 5:44 AM (in response to thomas.diesler)Thanks Thomas for the confirmation
From my point of view, I would deploy the WAR as OSGi-bundle, when https://issues.jboss.org/browse/AS7-1601 is resolved, but I think also e.g. an EJB-jar might have the demand to load e.g. javax.servlet.Filter for whatever reason and this should succeed and not be misrouted to the OSGi-bundle's classloader.