cancel
Showing results for 
Search instead for 
Did you mean: 

Error deploying AIO with SDK 4.3

olanda
Confirmed Champ
Confirmed Champ

I've developed an AMP with SDK 4.3 using AIO archetype (enterprise mode) with these parameters:

  • <alfresco.bomDependencyArtifactId>acs-packaging</alfresco.bomDependencyArtifactId>
  • <alfresco.platform.version>7.0.1</alfresco.platform.version>
  • <alfresco.share.version>7.0.1.1</alfresco.share.version>
  • <docker.acs.image>quay.io/alfresco/alfresco-content-repository</docker.acs.image>
  • <docker.share.image>quay.io/alfresco/alfresco-share</docker.share.image>

After run.bat build_start the extension works fine in my docker local environment.

I'm deploting the amp on me server installation with

java -jar ../bin/alfresco-mmt.jar install XXXXX-platform-1.0-SNAPSHOT.amp ../tomcat/webapps/alfresco.war -force

But ACS is not starting properly. The error in catalina.out is:

2021-12-29 12:18:46,938 ERROR [web.context.ContextLoader] [main] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'handlerMappings' defined in URL [jar:file:/opt/alfresco7/tomcat/webapps/alfresco/WEB-INF/lib/spring-webscripts-8.22.jar!/org/springframework/extensions/webscripts/spring-webscripts-mvc-context.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.springframework.web.servlet.handler.AbstractHandlerMapping.obtainApplicationContext()Lorg/springframework/context/ApplicationContext;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:756)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:70)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:728)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:948)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1388)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:921)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:437)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:934)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
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:566)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
Caused by: java.lang.NoSuchMethodError: org.springframework.web.servlet.handler.AbstractHandlerMapping.obtainApplicationContext()Lorg/springframework/context/ApplicationContext;
at org.springframework.web.servlet.handler.AbstractHandlerMapping.detectMappedInterceptors(AbstractHandlerMapping.java:400)
at org.springframework.web.servlet.handler.AbstractHandlerMapping.initApplicationContext(AbstractHandlerMapping.java:373)
at org.springframework.web.servlet.handler.SimpleUrlHandlerMapping.initApplicationContext(SimpleUrlHandlerMapping.java:138)
at org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:120)
at org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:78)
at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:74)
at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:121)
at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:97)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:407)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1611)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
... 53 more
dic. 29, 2021 12:18:46 P. M. org.apache.catalina.core.StandardContext listenerStart
SEVERE: Excepción al enviar evento inicializado de contexto a instancia de escuchador de clase [org.alfresco.web.app.ContextLoaderListener]
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'handlerMappings' defined in URL [jar:file:/opt/alfresco7/tomcat/webapps/alfresco/WEB-INF/lib/spring-webscripts-8.22.jar!/org/springframework/extensions/webscripts/spring-webscripts-mvc-context.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.springframework.web.servlet.handler.AbstractHandlerMapping.obtainApplicationContext()Lorg/springframework/context/ApplicationContext;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)

I've realized that the version of the library spring-webscripts-XXX.jar in my local environment is 8.19 and in the server is 8.22 . This could be the problem? How 

1 ACCEPTED ANSWER

abhinavmishra14
World-Class Innovator
World-Class Innovator

@olanda So the reason could be that, the jar file facilitates the message broker. 

You can find the url in <yourRepoModule>-platform-docker project's alfresco-global.properties file as: messaging.broker.url=vm://localhost?broker.persistent=false

May be an issue with SDK templates, it should include the jar file in <yourRepoModule>-platform-docker project (e.g. gestordoc7x-platform-docker) instead of including it as a dependency on parent pom that is causing the jar file to get included in final amp. 

https://github.com/Alfresco/alfresco-sdk/commit/577202625f2ec2c9a421b731a18bb24d5dcd71bc

As a solution, you can take off the dependency from parent pom (gestordoc7x/pom.xml) and add it to the <yourRepoModule>-platform-docker/pom.xml as a dependency.  e.g. gestordoc7x-platform-docker/pom.xml

So when you deploy the project locally, it takes the jar from docker project but when amp module that actually needs to be applied to remote server won't include the jar file. 

Here is an example, note the highlighted items:

Docker project pom example:

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <artifactId>gestordoc7x-platform-docker</artifactId>
    <name>Alfresco Platform/Repository Docker Module</name>
    <description>Platform/Repo Docker Module to generate the final Docker image</description>
    <packaging>jar</packaging>

    <parent>
        <groupId>com.demo</groupId>
        <artifactId>gestordoc7x</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <properties>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.demo</groupId>
            <artifactId>gestordoc7x-platform</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.demo</groupId>
            <artifactId>gestordoc7x-integration-tests</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>test</scope>
            <classifier>tests</classifier>
        </dependency>
<!-- Moved activemq-all dependency from parent pom.xml (gestordoc7x/pom.xml) and added here --> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>${activemq.version}</version> </dependency> </dependencies> <build> .... ..... </build> </project> Parent pom example: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.demo</groupId> <artifactId>gestordoc7x</artifactId> <version>1.0-SNAPSHOT</version> <name>AIO - SDK 4.3</name> <description>All-In-One (AIO) project for SDK 4.3</description> <packaging>pom</packaging> <prerequisites> <maven>3.3.0</maven> </prerequisites> <properties> <!-- Alfresco Maven Plugin version to use --> <alfresco.sdk.version>4.3.0</alfresco.sdk.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- Properties used in dependency declarations, you don't need to change these --> <alfresco.groupId>org.alfresco</alfresco.groupId> <alfresco.bomDependencyArtifactId>acs-community-packaging</alfresco.bomDependencyArtifactId> <alfresco.platform.version>7.1.0</alfresco.platform.version> <alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user> <alfresco.share.version>11.77</alfresco.share.version> <alfresco.share.docker.version>7.1.0.1</alfresco.share.docker.version> <!-- Docker images --> <docker.acs.image>alfresco/alfresco-content-repository-community</docker.acs.image> <docker.share.image>alfresco/alfresco-share</docker.share.image> <keystore.settings>-Dencryption.keystore.type=JCEKS -Dencryption.cipherAlgorithm=AES/CBC/PKCS5Padding -Dencryption.keyAlgorithm=AES -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore -Dmetadata-keystore.password=mp6yc0UD9e -Dmetadata-keystore.aliases=metadata -Dmetadata-keystore.metadata.password=oKIWzVdEdA -Dmetadata-keystore.metadata.algorithm=AES</keystore.settings> <activemq.version>5.16.3</activemq.version> <!-- JRebel Hot reloading of classpath stuff and web resource stuff --> <jrebel.version>1.1.8</jrebel.version> <!-- Environment configuration properties --> <share.port>8180</share.port> <share.debug.port>9898</share.debug.port> <acs.host>gestordoc7x-acs</acs.host> <acs.port>8080</acs.port> <acs.debug.port>8888</acs.debug.port> <postgres.port>5555</postgres.port> <!-- This parameter is only required for those cases in which ACS is not exposed in http://localhost:8080/alfresco (i.e. Windows Docker) --> <test.acs.endpoint.path/> </properties> <!-- Libs used in Unit and Integration tests --> <!-- IMPORTANT - Test dependencies need to be here in the top parent POM as the Alfresco Maven IT Mojo runs as part of the parent project ... --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>1.9.5</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <scope>test</scope> </dependency> <!-- The main Alfresco Repo dependency for compiling Java code in src/main/java --> <dependency> <groupId>${alfresco.groupId}</groupId> <artifactId>alfresco-remote-api</artifactId> <scope>provided</scope> </dependency> <!-- Bring in Alfresco RAD so we get access to AlfrescoTestRunner classes --> <dependency> <groupId>org.alfresco.maven</groupId> <artifactId>alfresco-rad</artifactId> <version>${alfresco.sdk.version}</version> <scope>test</scope> </dependency>
<!-- Removed activemq-all dependency from here and added to (gestordoc7x-platform-docker/pom.xml) --> </dependencies> .... ..... <modules> <module>gestordoc7x-platform</module> <module>gestordoc7x-share</module> <module>gestordoc7x-integration-tests</module> <module>gestordoc7x-platform-docker</module> <module>gestordoc7x-share-docker</module> </modules> </project>

You can find a demo project here: https://github.com/abhinavmishra14/acs7-sdk43-demo

https://github.com/abhinavmishra14/acs7-sdk43-demo/blob/main/acs71-demo-platform-docker/pom.xml#L33

https://github.com/abhinavmishra14/acs7-sdk43-demo/blob/main/pom.xml#L74

Alternatively if you still want to keep the dependency commented out but want local environment to work, you can add following in your gestordoc7x-platform-docker's alfresco-global.properties, so message broker subsystem is not started. Note that, if you plan to use local transformation service- it will not work without the message broker:

messaging.subsystem.autoStart=false

Hope this helps.

~Abhinav
(ACSCE, AWS SAA, Azure Admin)

View answer in original post

15 REPLIES 15

abhinavmishra14
World-Class Innovator
World-Class Innovator

What is the alfresco version on your dev server? 
Can you also share full log from startup till the end of crash (alfresco.log and catalina.out) ?

Does your alfresco dev server works fine without the custom amp?

I doubt if amp is applied correctly.

Here is what i woule try before applying the amp (make sure alfresco app in running condition already):

1 - Stop alfresco 

2-  Delete exploded "alfresco" webapp from tomcat/webapps (or take backup)

3-  Apply the amp and keep the backup of existing war file.

4- Make sure alfresco.war retains the same permissions as it was before, else it won't be exploded or exploded partially and you will endup seeing errors like you have mentioned.

5 - Start alfresco

~Abhinav
(ACSCE, AWS SAA, Azure Admin)

Did you tried the steps i provided in last reply? I requested for full startup logs in the previous reply as well when you apply the amp considering the steps i gave.

From your last post, i see in log that it says "Successfully retrieved license information from Alfresco." which is unliekly if backend has crashed already.

~Abhinav
(ACSCE, AWS SAA, Azure Admin)

hello.... Yes I did all the steps.... same result.

As you can see in the previous message, in this last deployment I deployed only the share amp. Alfresco works but the share does not and with a similar error.

olanda
Confirmed Champ
Confirmed Champ

Now I've created a new AIO amp project withouth any customizations, just out of the box.

After run.bat build_start the extension is deploying properly in the local docker environment.

When I deploy these amps on the server the same error that with the first one.  

04-Jan-2022 16:35:13.397 INFO [main] org.apache.coyote.AbstractProtocol.init Inicializando el manejador de protocolo ["http-nio-8080"]

04-Jan-2022 16:35:13.444 INFO [main] org.apache.coyote.AbstractProtocol.init Inicializando el manejador de protocolo ["https-jsse-nio-8443"]

04-Jan-2022 16:35:13.737 WARNING [main] org.apache.tomcat.util.net.SSLUtilBase.<init> The JSSE TLS 1.3 implementation does not support authentication after the initial handshake and is therefore incompatible with optional client authentication
04-Jan-2022 16:35:14.337 INFO [main] org.apache.coyote.AbstractProtocol.init Inicializando el manejador de protocolo ["ajp-nio-0.0.0.0-8011"]

04-Jan-2022 16:35:14.339 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1727] milliseconds
04-Jan-2022 16:35:14.432 INFO [main] org.apache.catalina.core.StandardService.startInternal Arrancando servicio [Catalina]
04-Jan-2022 16:35:14.432 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.50]
04-Jan-2022 16:35:14.454 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Despliegue del archivo [/opt/alfresco7/tomcat/webapps/_vti_bin.war] de la aplicación web
04-Jan-2022 16:35:15.241 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars Al menos un JAR, que se ha explorado buscando TLDs, aún no contenía TLDs. Activar historial de depuración para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se halló TLDs. Saltarse JARs no necesarios durante la exploración puede dar lugar a una mejora de tiempo significativa en el arranque y compilación de JSP .
04-Jan-2022 16:35:15.318 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/alfresco7/tomcat/webapps/_vti_bin.war] has finished in [864] ms
04-Jan-2022 16:35:15.319 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Despliegue del archivo [/opt/alfresco7/tomcat/webapps/api-explorer.war] de la aplicación web
04-Jan-2022 16:35:15.590 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars Al menos un JAR, que se ha explorado buscando TLDs, aún no contenía TLDs. Activar historial de depuración para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se halló TLDs. Saltarse JARs no necesarios durante la exploración puede dar lugar a una mejora de tiempo significativa en el arranque y compilación de JSP .
04-Jan-2022 16:35:15.675 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/alfresco7/tomcat/webapps/api-explorer.war] has finished in [356] ms
04-Jan-2022 16:35:15.679 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Despliegue del archivo [/opt/alfresco7/tomcat/webapps/ROOT.war] de la aplicación web
04-Jan-2022 16:35:15.683 WARNING [main] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match [Context] failed to set property [debug] to [100]
04-Jan-2022 16:35:15.911 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars Al menos un JAR, que se ha explorado buscando TLDs, aún no contenía TLDs. Activar historial de depuración para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se halló TLDs. Saltarse JARs no necesarios durante la exploración puede dar lugar a una mejora de tiempo significativa en el arranque y compilación de JSP .
04-Jan-2022 16:35:15.915 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/alfresco7/tomcat/webapps/ROOT.war] has finished in [236] ms
04-Jan-2022 16:35:15.916 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Despliegue del archivo [/opt/alfresco7/tomcat/webapps/workspace.war] de la aplicación web
04-Jan-2022 16:35:16.176 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars Al menos un JAR, que se ha explorado buscando TLDs, aún no contenía TLDs. Activar historial de depuración para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se halló TLDs. Saltarse JARs no necesarios durante la exploración puede dar lugar a una mejora de tiempo significativa en el arranque y compilación de JSP .
04-Jan-2022 16:35:16.179 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/alfresco7/tomcat/webapps/workspace.war] has finished in [263] ms
04-Jan-2022 16:35:16.183 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Despliegue del archivo [/opt/alfresco7/tomcat/webapps/alfresco.war] de la aplicación web
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/alfresco7/tomcat/webapps/alfresco/WEB-INF/lib/activemq-all-5.16.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/alfresco7/tomcat/webapps/alfresco/WEB-INF/lib/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
ene. 04, 2022 4:35:40 P. M. org.apache.jasper.servlet.TldScanner scanJars
INFO: Al menos un JAR, que se ha explorado buscando TLDs, aún no contenía TLDs. Activar historial de depuración para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se halló TLDs. Saltarse JARs no necesarios durante la exploración puede dar lugar a una mejora de tiempo significativa en el arranque y compilación de JSP .
ene. 04, 2022 4:35:40 P. M. org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
ene. 04, 2022 4:35:40 P. M. org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
2022-01-04 16:35:58,392 WARN [heartbeat.datasender.HBDataSenderServiceBuilder] [main] Setting the Heartbeat sender cron with property 'heartbeat.sender.cronExpression' is no longer supported.
2022-01-04 16:35:58,707 INFO [domain.schema.SchemaBootstrap] [main] Ignoring script patch (post-Hibernate): patch.db-V4.2-metadata-query-indexes
2022-01-04 16:35:58,708 INFO [domain.schema.SchemaBootstrap] [main] Ignoring script patch (post-Hibernate): patch.db-V5.1-metadata-query-indexes
2022-01-04 16:35:58,708 INFO [domain.schema.SchemaBootstrap] [main] Ignoring script patch (post-Hibernate): patch.db-V5.2-remove-jbpm-tables-from-db
2022-01-04 16:35:58,708 INFO [domain.schema.SchemaBootstrap] [main] Ignoring script patch (post-Hibernate): patch.db-V6.3-add-indexes-node-transaction
2022-01-04 16:35:59,145 INFO [alfresco.repo.admin] [main] Using database URL 'jdbc:mysql://89.3.3.95/alfresco70pre?useUnicode=yes&characterEncoding=UTF-8' with user 'alfresco7'.
2022-01-04 16:35:59,147 INFO [alfresco.repo.admin] [main] Connected to database MariaDB version 10.3.12-MariaDB
2022-01-04 16:36:07,557 INFO [management.subsystems.ChildApplicationContextFactory] [main] Starting 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1]
2022-01-04 16:36:07,711 INFO [management.subsystems.ChildApplicationContextFactory] [main] Startup of 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1] complete
2022-01-04 16:36:07,712 INFO [management.subsystems.ChildApplicationContextFactory] [main] Starting 'Authentication' subsystem, ID: [Authentication, managed, ldap-ad1]
2022-01-04 16:36:07,866 WARN [authentication.ldap.LDAPInitialDirContextFactoryImpl] [main] LDAP server supports anonymous bind ldap://89.0.108.108:389
2022-01-04 16:36:08,062 INFO [management.subsystems.ChildApplicationContextFactory] [main] Startup of 'Authentication' subsystem, ID: [Authentication, managed, ldap-ad1] complete
2022-01-04 16:36:12,417 INFO [population.config.RqaWorkerConfig] [main] QuerySet batch size property is set to [5000].
2022-01-04 16:36:13,478 INFO [management.subsystems.ChildApplicationContextFactory] [main] Starting 'sysAdmin' subsystem, ID: [sysAdmin, default]
2022-01-04 16:36:13,530 INFO [management.subsystems.ChildApplicationContextFactory] [main] Startup of 'sysAdmin' subsystem, ID: [sysAdmin, default] complete
2022-01-04 16:36:15,371 WARN [context.support.XmlWebApplicationContext] [main] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'handlerMappings' defined in URL [jar:file:/opt/alfresco7/tomcat/webapps/alfresco/WEB-INF/lib/spring-webscripts-8.22.jar!/org/springframework/extensions/webscripts/spring-webscripts-mvc-context.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.springframework.web.servlet.handler.AbstractHandlerMapping.obtainApplicationContext()Lorg/springframework/context/ApplicationContext;
2022-01-04 16:36:15,725 INFO [management.subsystems.ChildApplicationContextFactory] [main] Stopping 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1]
2022-01-04 16:36:15,726 INFO [management.subsystems.ChildApplicationContextFactory] [main] Stopped 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1]
2022-01-04 16:36:15,726 INFO [management.subsystems.ChildApplicationContextFactory] [main] Stopping 'Authentication' subsystem, ID: [Authentication, managed, ldap-ad1]
2022-01-04 16:36:15,727 INFO [management.subsystems.ChildApplicationContextFactory] [main] Stopped 'Authentication' subsystem, ID: [Authentication, managed, ldap-ad1]
2022-01-04 16:36:15,728 INFO [management.subsystems.ChildApplicationContextFactory] [main] Stopping 'sysAdmin' subsystem, ID: [sysAdmin, default]
2022-01-04 16:36:15,728 INFO [management.subsystems.ChildApplicationContextFactory] [main] Stopped 'sysAdmin' subsystem, ID: [sysAdmin, default]
2022-01-04 16:36:15,742 ERROR [web.context.ContextLoader] [main] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'handlerMappings' defined in URL [jar:file:/opt/alfresco7/tomcat/webapps/alfresco/WEB-INF/lib/spring-webscripts-8.22.jar!/org/springframework/extensions/webscripts/spring-webscripts-mvc-context.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.springframework.web.servlet.handler.AbstractHandlerMapping.obtainApplicationContext()Lorg/springframework/context/ApplicationContext;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:756)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:70)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:728)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:948)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1388)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:921)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:437)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:934)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
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:566)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
Caused by: java.lang.NoSuchMethodError: org.springframework.web.servlet.handler.AbstractHandlerMapping.obtainApplicationContext()Lorg/springframework/context/ApplicationContext;
at org.springframework.web.servlet.handler.AbstractHandlerMapping.detectMappedInterceptors(AbstractHandlerMapping.java:400)
at org.springframework.web.servlet.handler.AbstractHandlerMapping.initApplicationContext(AbstractHandlerMapping.java:373)
at org.springframework.web.servlet.handler.SimpleUrlHandlerMapping.initApplicationContext(SimpleUrlHandlerMapping.java:138)
at org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:120)
at org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:78)
at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:74)
at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:121)
at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:97)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:407)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1611)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
... 53 more
ene. 04, 2022 4:36:15 P. M. org.apache.catalina.core.StandardContext listenerStart
SEVERE: Excepción al enviar evento inicializado de contexto a instancia de escuchador de clase [org.alfresco.web.app.ContextLoaderListener]
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'handlerMappings' defined in URL [jar:file:/opt/alfresco7/tomcat/webapps/alfresco/WEB-INF/lib/spring-webscripts-8.22.jar!/org/springframework/extensions/webscripts/spring-webscripts-mvc-context.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.springframework.web.servlet.handler.AbstractHandlerMapping.obtainApplicationContext()Lorg/springframework/context/ApplicationContext;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:756)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
at ...

abhinavmishra14
World-Class Innovator
World-Class Innovator

That's strange. If issue with all types of amps, then it could be environment issue. 

As a check, can you also try on a different environment to see if that makes a difference or status remains same ?

To test on myend, i have a dev server running acs7.0 on centos7 (setup was done via distribution package). I generated sample project using sdk4.3 and built the amp for alfresco and share and tried applying the amps. I could not replicate the issue like yours. It started up successfully. I also applied the amps on a local docker based installation and results are successful. The error is not reproducible on my end.

~Abhinav
(ACSCE, AWS SAA, Azure Admin)

Hello,

I've deployed the amp in different isntallations... same result.

This is my AMP structure....inside libs only thiese files

image

image

If you could deploy the AMP in your environment, I can send you it to a private email.

Thanks in advance !!

olanda
Confirmed Champ
Confirmed Champ

I've commented the activemq dependency and now the amp is deploying on my server installation without errors.

 <activemq.version>5.16.3</activemq.version>
<!-- dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>${activemq.version}</version>
</dependency -->

Now in my local docker environment I get this error 

2022-01-07 12:55:13,490 ERROR [component.jms.DefaultJmsMessageListenerContainer] [Camel (alfrescoCamelContext) thread #1 - JmsConsumer[acs-repo-transform-request]] Could not refresh JMS Connection for destination 'acs-repo-transform-request' - retrying using FixedBackOff{interval=5000, currentAttempts=235, maxAttempts=unlimited}. Cause: Error while attempting to add new Connection to the pool; nested exception is javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [vm]

Would it be necessary to configure something else in the pom.xml instead of commenting out those lines?

abhinavmishra14
World-Class Innovator
World-Class Innovator

@olanda So the reason could be that, the jar file facilitates the message broker. 

You can find the url in <yourRepoModule>-platform-docker project's alfresco-global.properties file as: messaging.broker.url=vm://localhost?broker.persistent=false

May be an issue with SDK templates, it should include the jar file in <yourRepoModule>-platform-docker project (e.g. gestordoc7x-platform-docker) instead of including it as a dependency on parent pom that is causing the jar file to get included in final amp. 

https://github.com/Alfresco/alfresco-sdk/commit/577202625f2ec2c9a421b731a18bb24d5dcd71bc

As a solution, you can take off the dependency from parent pom (gestordoc7x/pom.xml) and add it to the <yourRepoModule>-platform-docker/pom.xml as a dependency.  e.g. gestordoc7x-platform-docker/pom.xml

So when you deploy the project locally, it takes the jar from docker project but when amp module that actually needs to be applied to remote server won't include the jar file. 

Here is an example, note the highlighted items:

Docker project pom example:

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <artifactId>gestordoc7x-platform-docker</artifactId>
    <name>Alfresco Platform/Repository Docker Module</name>
    <description>Platform/Repo Docker Module to generate the final Docker image</description>
    <packaging>jar</packaging>

    <parent>
        <groupId>com.demo</groupId>
        <artifactId>gestordoc7x</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <properties>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.demo</groupId>
            <artifactId>gestordoc7x-platform</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.demo</groupId>
            <artifactId>gestordoc7x-integration-tests</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>test</scope>
            <classifier>tests</classifier>
        </dependency>
<!-- Moved activemq-all dependency from parent pom.xml (gestordoc7x/pom.xml) and added here --> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>${activemq.version}</version> </dependency> </dependencies> <build> .... ..... </build> </project> Parent pom example: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.demo</groupId> <artifactId>gestordoc7x</artifactId> <version>1.0-SNAPSHOT</version> <name>AIO - SDK 4.3</name> <description>All-In-One (AIO) project for SDK 4.3</description> <packaging>pom</packaging> <prerequisites> <maven>3.3.0</maven> </prerequisites> <properties> <!-- Alfresco Maven Plugin version to use --> <alfresco.sdk.version>4.3.0</alfresco.sdk.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- Properties used in dependency declarations, you don't need to change these --> <alfresco.groupId>org.alfresco</alfresco.groupId> <alfresco.bomDependencyArtifactId>acs-community-packaging</alfresco.bomDependencyArtifactId> <alfresco.platform.version>7.1.0</alfresco.platform.version> <alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user> <alfresco.share.version>11.77</alfresco.share.version> <alfresco.share.docker.version>7.1.0.1</alfresco.share.docker.version> <!-- Docker images --> <docker.acs.image>alfresco/alfresco-content-repository-community</docker.acs.image> <docker.share.image>alfresco/alfresco-share</docker.share.image> <keystore.settings>-Dencryption.keystore.type=JCEKS -Dencryption.cipherAlgorithm=AES/CBC/PKCS5Padding -Dencryption.keyAlgorithm=AES -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore -Dmetadata-keystore.password=mp6yc0UD9e -Dmetadata-keystore.aliases=metadata -Dmetadata-keystore.metadata.password=oKIWzVdEdA -Dmetadata-keystore.metadata.algorithm=AES</keystore.settings> <activemq.version>5.16.3</activemq.version> <!-- JRebel Hot reloading of classpath stuff and web resource stuff --> <jrebel.version>1.1.8</jrebel.version> <!-- Environment configuration properties --> <share.port>8180</share.port> <share.debug.port>9898</share.debug.port> <acs.host>gestordoc7x-acs</acs.host> <acs.port>8080</acs.port> <acs.debug.port>8888</acs.debug.port> <postgres.port>5555</postgres.port> <!-- This parameter is only required for those cases in which ACS is not exposed in http://localhost:8080/alfresco (i.e. Windows Docker) --> <test.acs.endpoint.path/> </properties> <!-- Libs used in Unit and Integration tests --> <!-- IMPORTANT - Test dependencies need to be here in the top parent POM as the Alfresco Maven IT Mojo runs as part of the parent project ... --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>1.9.5</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <scope>test</scope> </dependency> <!-- The main Alfresco Repo dependency for compiling Java code in src/main/java --> <dependency> <groupId>${alfresco.groupId}</groupId> <artifactId>alfresco-remote-api</artifactId> <scope>provided</scope> </dependency> <!-- Bring in Alfresco RAD so we get access to AlfrescoTestRunner classes --> <dependency> <groupId>org.alfresco.maven</groupId> <artifactId>alfresco-rad</artifactId> <version>${alfresco.sdk.version}</version> <scope>test</scope> </dependency>
<!-- Removed activemq-all dependency from here and added to (gestordoc7x-platform-docker/pom.xml) --> </dependencies> .... ..... <modules> <module>gestordoc7x-platform</module> <module>gestordoc7x-share</module> <module>gestordoc7x-integration-tests</module> <module>gestordoc7x-platform-docker</module> <module>gestordoc7x-share-docker</module> </modules> </project>

You can find a demo project here: https://github.com/abhinavmishra14/acs7-sdk43-demo

https://github.com/abhinavmishra14/acs7-sdk43-demo/blob/main/acs71-demo-platform-docker/pom.xml#L33

https://github.com/abhinavmishra14/acs7-sdk43-demo/blob/main/pom.xml#L74

Alternatively if you still want to keep the dependency commented out but want local environment to work, you can add following in your gestordoc7x-platform-docker's alfresco-global.properties, so message broker subsystem is not started. Note that, if you plan to use local transformation service- it will not work without the message broker:

messaging.subsystem.autoStart=false

Hope this helps.

~Abhinav
(ACSCE, AWS SAA, Azure Admin)

Thank you @olanda for the question and @abhinavmishra14  for the awesome answer (I also had the same problem and your solution works). You probably saved me a couple of days of troubleshooting.

I only wonder why such mistakes aren't immediately fixed by the Alfresco staff.

PS. @olanda how did you know it is the ActiveMQ issue?

howkymike
Alfresco Developer