-
Type:
Bug
-
Status: Closed
-
Resolution: Fixed
-
Affects Version/s: Master
-
Fix Version/s: 7.1.10 DXP FP1, 7.1.1 CE GA2, 7.1.10.1 SP1, 7.1.X, Master
-
Component/s: Core Infrastructure > Wab Generator
-
Branch Version/s:7.1.x
-
Backported to Branch:Committed
-
Git Pull Request:
Wab bundle does not use DS by itself. But it could bundle in dependency jars that are DS based. When it does that, it means to include them as libs in the webapp way. It will be weird and wrong to let the wab bundle re-exporting them as DS components.
We have a broken case is lcs-portlet has com.liferay.petra.json.web.service.client.jar its /WEB-INF/lib, which is a DS bundle. And outside in osgi/modules. we have the real com.liferay.petra.json.web.service.client.jar again.
At runtime, they will both try to offer JSONWebServiceClientImpl as a Component factory causing the following failure:
{code}
[exec] 12:02:28,358 ERROR [main][com_liferay_analytics_client_osgi:97] [com.liferay.analytics.client.osgi.internal.IdentityClientImpl(2964)] The activate method has thrown an exception
[exec] java.lang.ClassCastException: com.liferay.petra.json.web.service.client.internal.JSONWebServiceClientImpl cannot be cast to com.liferay.petra.json.web.service.client.JSONWebServiceClient
[exec] at com.liferay.analytics.client.osgi.internal.IdentityClientImpl.initializeJSONWebServiceClient(IdentityClientImpl.java:97)
[exec] at com.liferay.analytics.client.osgi.internal.IdentityClientImpl.activate(IdentityClientImpl.java:78)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[exec] at java.lang.reflect.Method.invoke(Method.java:498)
[exec] at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
[exec] at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
[exec] at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
[exec] at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
[exec] at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:302)
[exec] at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:294)
[exec] at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:297)
[exec] at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:108)
[exec] at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)
[exec] at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)
[exec] at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823)
[exec] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
[exec] at java.security.AccessController.doPrivileged(Native Method)
[exec] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)
[exec] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111)
[exec] at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45)
[exec] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496)
[exec] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461)
[exec] at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619)
[exec] at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:72)
[exec] at org.apache.felix.scr.impl.inject.BindMethod.getServiceObject(BindMethod.java:648)
[exec] at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2203)
[exec] at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1118)
[exec] at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1520)
[exec] at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1005)
[exec] at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:859)
[exec] at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:748)
[exec] at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1012)
[exec] at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:968)
[exec] at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215)
[exec] at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136)
[exec] at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945)
[exec] at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881)
[exec] at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167)
[exec] at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127)
[exec] at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
[exec] at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:917)
[exec] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
[exec] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
[exec] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
[exec] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
[exec] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
[exec] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
[exec] at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464)
[exec] at com.liferay.portal.bootstrap.ModuleFrameworkImpl._registerService(ModuleFrameworkImpl.java:1213)
[exec] at com.liferay.portal.bootstrap.ModuleFrameworkImpl._registerApplicationContext(ModuleFrameworkImpl.java:1184)
[exec] at com.liferay.portal.bootstrap.ModuleFrameworkImpl.registerContext(ModuleFrameworkImpl.java:329)
[exec] at com.liferay.portal.module.framework.ModuleFrameworkUtilAdapter.registerContext(ModuleFrameworkUtilAdapter.java:71)
[exec] at com.liferay.portal.spring.context.PortalContextLoaderListener.contextInitialized(PortalContextLoaderListener.java:352)
[exec] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4579)
[exec] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5041)
[exec] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[exec] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:742)
[exec] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:718)
[exec] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
[exec] at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
[exec] at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1840)
[exec] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[exec] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[exec] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
[exec] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
[exec] at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:525)
[exec] at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:424)
[exec] at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1586)
[exec] at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
[exec] at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
[exec] at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
[exec] at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
[exec] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:966)
[exec] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
[exec] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[exec] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1427)
[exec] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1417)
[exec] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[exec] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
[exec] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
[exec] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943)
[exec] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258)
[exec] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[exec] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
[exec] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[exec] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
[exec] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[exec] at org.apache.catalina.startup.Catalina.start(Catalina.java:682)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[exec] at java.lang.reflect.Method.invoke(Method.java:498)
[exec] at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
[exec] at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
{code}
- causes
-
LPS-84757 Liferay Portal 7.1 fails to detect @Component in war file
- Closed
- demands
-
FACES-3346 Remove support for Declarative Services based JSF portlets
-
- Closed
-
- fixes
-
LPS-67576 Errors while deploying Akismet portlet
- Closed