Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-7341

Admin web console does not work, when using a junction in the install path

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.15.10
    • Fix Version/s: None
    • Component/s: Web Console
    • Labels:
      None
    • Environment:

      Windows server 2016/Windows 10

      Description

      In our environment ActiveMQ get's upgraded to the latest version every 6-12 months.

      To make this easy we have this Directory structure:

      c:\APP\ActiveMQ>dir
      Volume in drive C has no label.
      Directory of c:\APP\ActiveMQ
      14/11/2019 16:58 <DIR> .
      14/11/2019 16:58 <DIR> ..
      14/11/2019 15:27 <DIR> apache-activemq-5.15.10
      15/03/2019 08:04 <DIR> apache-activemq-5.15.9
      14/11/2019 15:52 <JUNCTION> Current [c:\APP\ActiveMQ\apache-activemq-5.15.9]
                    0 File(s)              0 bytes
                     5 Dir(s) 216.928.550.912 bytes free
      
      

       

      When the new version (5.15.10) is all tested,configured and ready, we stop the old (5.15.9) and replace the junction.

      code executed:

       

      net stop activemq
      rmdir Current 
      mklink /j Current c:\app\ActiveMQ\apache-activemq-5.15.10
      net start activemq 
      

      With version 5.15.10 the web console no longer works when started from a junction..

      This worked perfectly in previous versions.

      Workaround:  delete the junction, rename versioned folder to current..

       

      Steps to reproduce:

       

      download: https://apache.cu.be//activemq/5.15.10/apache-activemq-5.15.10-bin.zip
      unzip to c:\app\activemq\
      mklink /j c:\app\activemq\current c:\app\activemq\apache-activemq-5.15.10
      c:\app\activemq\current\bin\win64\InstallService.bat
      net start activemq
      Surf to http://localhost:8161  => broken
      

       

      The error in the log file is:

      2019-11-14 15:49:41,909 | WARN  | Failed startup of context o.e.j.w.WebAppContext@5f878b41{ActiveMQ Console,/admin,file:///C:/APP/ActiveMQ/Current/webapps/admin/,UNAVAILABLE} | org.eclipse.jetty.webapp.WebAppContext | WrapperSimpleAppMain2019-11-14 15:49:41,909 | WARN  | Failed startup of context o.e.j.w.WebAppContext@5f878b41{ActiveMQ Console,/admin,file:///C:/APP/ActiveMQ/Current/webapps/admin/,UNAVAILABLE} | org.eclipse.jetty.webapp.WebAppContext | WrapperSimpleAppMainorg.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/webconsole-embedded.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/webconsole-embedded.xml] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)[spring-web-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)[spring-web-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)[spring-context-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:614)[spring-context-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:514)[spring-context-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.apache.activemq.web.WebConsoleStarter.createWebapplicationContext(WebConsoleStarter.java:71) at org.apache.activemq.web.WebConsoleStarter.contextInitialized(WebConsoleStarter.java:44) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:959)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:924)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:365)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1497)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1459)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:854)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:278)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:167)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:119)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:167)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.security.SecurityHandler.doStart(SecurityHandler.java:361)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.security.ConstraintSecurityHandler.doStart(ConstraintSecurityHandler.java:449)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:167)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:119)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:167)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.server.Server.start(Server.java:418)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.server.Server.doStart(Server.java:382)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)[jetty-all-9.4.19.v20190610-uber.jar:9.4.19.v20190610] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:] at java.base/java.lang.reflect.Method.invoke(Method.java:567)[:] at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:265)[spring-core-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.config.MethodInvokingBean.invokeWithTargetException(MethodInvokingBean.java:119)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.config.MethodInvokingFactoryBean.afterPropertiesSet(MethodInvokingFactoryBean.java:106)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1688)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1626)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:737)[spring-beans-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)[spring-context-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)[spring-context-4.3.24.RELEASE.jar:4.3.24.RELEASE] at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)[xbean-spring-4.14.jar:4.14] at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)[xbean-spring-4.14.jar:4.14] at org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:104)[activemq-spring-5.15.10.jar:5.15.10] at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104)[activemq-spring-5.15.10.jar:5.15.10] at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67)[activemq-spring-5.15.10.jar:5.15.10] at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)[activemq-broker-5.15.10.jar:5.15.10] at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)[activemq-broker-5.15.10.jar:5.15.10] at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:87)[activemq-console-5.15.10.jar:5.15.10] at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)[activemq-console-5.15.10.jar:5.15.10] at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:154)[activemq-console-5.15.10.jar:5.15.10] at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)[activemq-console-5.15.10.jar:5.15.10] at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104)[activemq-console-5.15.10.jar:5.15.10] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:] at java.base/java.lang.reflect.Method.invoke(Method.java:567)[:] at org.apache.activemq.console.Main.runTaskClass(Main.java:262)[activemq.jar:5.15.10] at org.apache.activemq.console.Main.main(Main.java:115)[activemq.jar:5.15.10] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:] at java.base/java.lang.reflect.Method.invoke(Method.java:567)[:] at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)[wrapper.jar:3.2.3] at java.base/java.lang.Thread.run(Thread.java:830)[:]

       

       

       

       

       

       

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              JanDeclercq Jan Declercq
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: