Dzmitry Palianski
Dzmitry Palianski

Reputation: 21

Magnolia v6.2 atmosphere is unable to configure JSR-356

After upgrade Magnolia from v5.7.1 to v6.2 atmosphere is unable to configure JSR-356.

Magnolia v5.7 uses Vaadin v7 while Magnolia v6.2 uses Vaadin v8.

We use Apache Tomcat server v8.5.56.

org.atmosphere.util.IOUtils.guestRawServletPath 
java.lang.IllegalStateException: Unable to configure jsr356 at that stage. No Servlet associated with Admincentral-m5
    at org.atmosphere.util.IOUtils.guestRawServletPath(IOUtils.java:282)
    at org.atmosphere.util.IOUtils.guestServletPath(IOUtils.java:255)
    at org.atmosphere.container.JSR356AsyncSupport.<init>(JSR356AsyncSupport.java:65)
    at org.atmosphere.container.JSR356AsyncSupport.<init>(JSR356AsyncSupport.java:42)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.atmosphere.cpr.DefaultAsyncSupportResolver.newCometSupport(DefaultAsyncSupportResolver.java:237)
    at org.atmosphere.cpr.DefaultAsyncSupportResolver.resolveWebSocket(DefaultAsyncSupportResolver.java:308)
    at org.atmosphere.cpr.DefaultAsyncSupportResolver.resolve(DefaultAsyncSupportResolver.java:294)
    at org.atmosphere.cpr.AtmosphereFramework.autoDetectContainer(AtmosphereFramework.java:2092)
    at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:914)
    at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:838)
    at com.vaadin.server.communication.PushRequestHandler.initAtmosphere(PushRequestHandler.java:206)
    at com.vaadin.server.communication.PushRequestHandler.<init>(PushRequestHandler.java:79)
    at com.vaadin.server.VaadinServletService.createRequestHandlers(VaadinServletService.java:68)
    at info.magnolia.ui.admincentral.AdmincentralVaadinServlet$2.createRequestHandlers(AdmincentralVaadinServlet.java:244)
    at com.vaadin.server.VaadinService.init(VaadinService.java:217)
    at info.magnolia.ui.admincentral.AdmincentralVaadinServlet.createServletService(AdmincentralVaadinServlet.java:272)
    at com.vaadin.server.VaadinServlet.createServletService(VaadinServlet.java:380)
    at com.vaadin.server.VaadinServlet.init(VaadinServlet.java:210)
    at info.magnolia.cms.filters.ServletDispatchingFilter.initializeServlet(ServletDispatchingFilter.java:112)
    at info.magnolia.cms.filters.ServletDispatchingFilter.init(ServletDispatchingFilter.java:103)
    at info.magnolia.cms.filters.CompositeFilter.initFilters(CompositeFilter.java:92)
    at info.magnolia.cms.filters.CompositeFilter.init(CompositeFilter.java:82)
    at info.magnolia.cms.filters.CompositeFilter.initFilters(CompositeFilter.java:92)
    at info.magnolia.cms.filters.CompositeFilter.init(CompositeFilter.java:82)
    at info.magnolia.cms.filters.FilterManagerImpl.initRootFilter(FilterManagerImpl.java:175)
    at info.magnolia.cms.filters.FilterManagerImpl$2.doExec(FilterManagerImpl.java:112)
    at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:407)
    at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:404)
    at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:378)
    at info.magnolia.cms.filters.FilterManagerImpl.init(FilterManagerImpl.java:107)
    at info.magnolia.cms.filters.MgnlMainFilter.init(MgnlMainFilter.java:84)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:106)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4538)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5181)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:614)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1822)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Maybe someone can help solve this problem?

Upvotes: 2

Views: 687

Answers (2)

John Doe
John Doe

Reputation: 31

In web.xml file inside of provided Magnolia 6.2 webapp bundles you can find something like this:

      <!--  the following two parameters prevent atmosphere framework from attempting to install -->
      <!--  JSR-356 (not needed and causes issues with our servlet setup-->
      <context-param>
        <param-name>org.atmosphere.cpr.AtmosphereConfig.getInitParameter</param-name>
        <param-value>true</param-value>
      </context-param>
      <context-param>
        <param-name>org.atmosphere.websocket.suppressJSR356</param-name>
        <param-value>true</param-value>
      </context-param>

Adding it to your web.xml should remove that issue.

Upvotes: 3

Jan
Jan

Reputation: 4369

No Servlet associated with Admincentral-m5

Looks like you didn’t upgrade all your apps to use 6.x framework and have some that still rely on 5.x one, but haven’t installed compatibility modules at the same time. If that’s the case, adding compatibility modules to your bundle should take care of the app problem.

Upvotes: 1

Related Questions