[ https://issues.apache.org/jira/browse/AMQ-9479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17837120#comment-17837120 ]
Jean-Baptiste Onofré commented on AMQ-9479: ------------------------------------------- I gonna reproduce and fix that. > Unable to Access ActiveMQ Web Console (webconsole-embedded.xml not found) > ------------------------------------------------------------------------- > > Key: AMQ-9479 > URL: https://issues.apache.org/jira/browse/AMQ-9479 > Project: ActiveMQ Classic > Issue Type: Bug > Reporter: Nagaraju > Assignee: Jean-Baptiste Onofré > Priority: Major > > We are encountering an issue with accessing the ActiveMQ web console > ({{{}/admin{}}}) in version 5.18.3 when running within a Docker container. > The web console fails to start up and throws the following error: > {{We have verified the deployment and installation of ActiveMQ within the > Docker container and confirmed that all necessary files are included.}} > {code:java} > 2024-04-12T04:14:56.310393470Z WARN | Failed startup of context > o.e.j.w.WebAppContext@1d99ee1b{ActiveMQ > Console,/admin,file:///opt/activemq/webapps/admin/,UNAVAILABLE} > 2024-04-12T04:14:56.310437252Z > org.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] > 2024-04-12T04:14:56.310447017Z at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310449955Z at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310454959Z at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:196) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310457953Z at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:232) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310460644Z at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:203) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310463866Z at > org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) > ~[spring-web-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310466466Z at > org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) > ~[spring-web-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310471148Z at > org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) > ~[spring-context-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310473706Z at > org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:671) > ~[spring-context-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310476043Z at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553) > ~[spring-context-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310480906Z at > org.apache.activemq.web.WebConsoleStarter.createWebapplicationContext(WebConsoleStarter.java:71) > ~[?:?] > 2024-04-12T04:14:56.310483550Z at > org.apache.activemq.web.WebConsoleStarter.contextInitialized(WebConsoleStarter.java:44) > ~[?:?] > 2024-04-12T04:14:56.310486458Z at > org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1073) > ~[jetty-server-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310489543Z at > org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572) > ~[jetty-servlet-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310492245Z at > org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:1002) > ~[jetty-server-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310495282Z at > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:765) > ~[jetty-servlet-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310497458Z at > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379) > ~[jetty-servlet-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310499318Z at > org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449) > ~[jetty-webapp-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310501440Z at > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414) > ~[jetty-webapp-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310668330Z at > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916) > ~[jetty-server-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310688172Z at > org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288) > ~[jetty-servlet-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310694055Z at > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524) > ~[jetty-webapp-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310696129Z at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310697787Z at > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310706653Z at > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310708539Z at > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) > ~[jetty-server-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310710337Z at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310711927Z at > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310713612Z at > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310715164Z at > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) > ~[jetty-server-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310716631Z at > org.eclipse.jetty.security.SecurityHandler.doStart(SecurityHandler.java:411) > ~[jetty-security-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310718251Z at > org.eclipse.jetty.security.ConstraintSecurityHandler.doStart(ConstraintSecurityHandler.java:417) > ~[jetty-security-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310739385Z at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310740973Z at > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310742713Z at > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310744415Z at > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) > ~[jetty-server-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310746031Z at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310748081Z at > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310749971Z at > org.eclipse.jetty.server.Server.start(Server.java:423) > ~[jetty-server-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310751884Z at > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310753492Z at > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) > ~[jetty-server-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310761610Z at > org.eclipse.jetty.server.Server.doStart(Server.java:387) > ~[jetty-server-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310764670Z at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) > ~[jetty-util-9.4.53.v20231009.jar:9.4.53.v20231009] > 2024-04-12T04:14:56.310769547Z at > jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] > 2024-04-12T04:14:56.310772326Z at > jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[?:?] > 2024-04-12T04:14:56.310775125Z at > jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[?:?] > 2024-04-12T04:14:56.310779837Z at > java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] > 2024-04-12T04:14:56.310782467Z at > org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:285) > ~[spring-core-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310794271Z at > org.springframework.beans.factory.config.MethodInvokingBean.invokeWithTargetException(MethodInvokingBean.java:123) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310796243Z at > org.springframework.beans.factory.config.MethodInvokingFactoryBean.afterPropertiesSet(MethodInvokingFactoryBean.java:108) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310798302Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310800153Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310801854Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310805627Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310807390Z at > org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310809394Z at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310811084Z at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310812612Z at > org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:1723) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310814222Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:917) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310815960Z at > org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:637) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310817555Z at > org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:583) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310819224Z at > org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:550) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310820812Z at > org.springframework.context.support.AbstractApplicationContext.getBeanNamesForType(AbstractApplicationContext.java:1300) > ~[spring-context-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310822635Z at > org.apache.camel.spring.CamelContextFactoryBean.getBeanForType(CamelContextFactoryBean.java:247) > ~[camel-spring-2.25.4.jar:2.25.4] > 2024-04-12T04:14:56.310828019Z at > org.apache.camel.core.xml.AbstractCamelContextFactoryBean.afterPropertiesSet(AbstractCamelContextFactoryBean.java:176) > ~[camel-spring-2.25.4.jar:2.25.4] > 2024-04-12T04:14:56.310829768Z at > org.apache.camel.spring.CamelContextFactoryBean.afterPropertiesSet(CamelContextFactoryBean.java:304) > ~[camel-spring-2.25.4.jar:2.25.4] > 2024-04-12T04:14:56.310831622Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310833294Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310834795Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310836473Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310838036Z at > org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310839737Z at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310841739Z at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310843402Z at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310844876Z at > org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1166) > ~[spring-context-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310846653Z at > org.apache.camel.spring.CamelBeanPostProcessor$1.getOrLookupCamelContext(CamelBeanPostProcessor.java:72) > ~[camel-spring-2.25.4.jar:2.25.4] > 2024-04-12T04:14:56.310848164Z at > org.apache.camel.impl.DefaultCamelBeanPostProcessor.postProcessBeforeInitialization(DefaultCamelBeanPostProcessor.java:89) > ~[camel-core-2.25.4.jar:2.25.4] > 2024-04-12T04:14:56.310849752Z at > org.apache.camel.spring.CamelBeanPostProcessor.postProcessBeforeInitialization(CamelBeanPostProcessor.java:154) > ~[camel-spring-2.25.4.jar:2.25.4] > 2024-04-12T04:14:56.310855022Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310856846Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310858425Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310860014Z at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310861624Z at > org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310863307Z at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) > [spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310867443Z at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) > [spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310869044Z at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) > [spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310870821Z at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:936) > [spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310872550Z at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:921) > [spring-context-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310874183Z at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) > [spring-context-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310875730Z at > org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64) > [xbean-spring-4.24.jar:4.24] > 2024-04-12T04:14:56.310877254Z at > org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52) > [xbean-spring-4.24.jar:4.24] > 2024-04-12T04:14:56.310878784Z at > org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:104) > [activemq-spring-5.18.3.jar:5.18.3] > 2024-04-12T04:14:56.310880253Z at > org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104) > [activemq-spring-5.18.3.jar:5.18.3] > 2024-04-12T04:14:56.310881833Z at > org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67) > [activemq-spring-5.18.3.jar:5.18.3] > 2024-04-12T04:14:56.310883446Z at > org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71) > [activemq-broker-5.18.3.jar:5.18.3] > 2024-04-12T04:14:56.310885021Z at > org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:98) > [activemq-broker-5.18.3.jar:5.18.3] > 2024-04-12T04:14:56.310889836Z Caused by: java.io.FileNotFoundException: > Could not open ServletContext resource [/WEB-INF/webconsole-embedded.xml] > 2024-04-12T04:14:56.310891450Z at > org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:165) > ~[spring-web-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310892937Z at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:333) > ~[spring-beans-5.3.30.jar:5.3.30] > 2024-04-12T04:14:56.310894608Z ... 97 more{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)