3 weeks ago
Hi people,
I would like to find out if Alfresco Community 25.2 edition is compatible with pdf-toolkit, and if it is, how do I go about installing and deploying it using Docker?
I look forward to hearing from you.
Thanks
3 weeks ago
3 weeks ago
Hi Fedorow,
I have done the following:
Is there something I still need to do or a process I am omitting?
3 weeks ago - last edited 3 weeks ago
okay, what I can notice:
3 weeks ago
Hi Fedorow,
When I go to the: http://localhost/alfresco/s/admin/admin-nodebrowser, this is the image I see:
I do not see the pdf-toolkit-repo module, but in my terminal, when I check, I see the following:
3 weeks ago
Hi Fedorow,
This is the code for the Dockerfile for the "share":
ARG SHARE_TAG
FROM alfresco/alfresco-share:${SHARE_TAG}
ARG TOMCAT_DIR=/usr/local/tomcat
# Server data
ARG SERVER_NAME
ENV SERVER_NAME $SERVER_NAME
ARG HTTP_PORT
ENV HTTP_PORT $HTTP_PORT
# Install modules and addons
RUN mkdir -p $TOMCAT_DIR/amps_share
COPY modules/amps $TOMCAT_DIR/amps_share
COPY modules/jars $TOMCAT_DIR/webapps/share/WEB-INF/lib
# Install Share AMPs (note: using amps_share directory)
RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
$TOMCAT_DIR/amps_share $TOMCAT_DIR/webapps/share -directory -nobackup -force
# Increase default cacheMaxSize
RUN sed -i "s|<Context>|<Context>\n<Resources cacheMaxSize=\"51200\"/> |g" $TOMCAT_DIR/conf/context.xml
# Fix for https://github.com/Alfresco/acs-community-packaging/issues/367 in Share 6.2.0
COPY web-extension/share-config-custom-dev.xml $TOMCAT_DIR/shared/classes/alfresco/web-extension/
3 weeks ago
Also if I check my Docker desktop, the .amp file in modules is not copied to "amps_share", in /usr/local/tomcat/amps_share:
3 weeks ago
Check you volumes in docker-compose.yml and COPY commands in Dockerfile. Remember what local path and docker container path completely different things.
As I understand you do not use https://github.com/Alfresco/alfresco-docker-installer for your deployment, so the path and names could differs. I can't help you as I do not have your project files.
This command in share Dockerfile installs the modules from $TOMCAT_DIR/amps_share container folder:
# Install Share AMPs (note: using amps_share directory)
RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
$TOMCAT_DIR/amps_share $TOMCAT_DIR/webapps/share -directory -nobackup -force
Make sure you COPY your local amp files to amps_share container directory.
3 weeks ago
Hi Fedorow,
I am using the https://github.com/Alfresco/alfresco-docker-installer for my deployment. I have been able to build the pdf-toolkit-share-1.4.3-SNAPSHOT.amp for share, and I can see the deployment modules
The issue is when I build the pdf-toolkit-repo-1.4.4-SNAPSHOT.amp for alfresco, it throws up errors and corrupts the webapps, you can see the logs below:
This is my Dockerfile code for alfresco amps below:
ARG ALFRESCO_TAG
FROM alfresco/alfresco-content-repository-community:${ALFRESCO_TAG}
ARG TOMCAT_DIR=/usr/local/tomcat
ARG IMAGEUSERNAME=alfresco
# default user is alfresco (added on the base image alfresco/alfresco-content-repository-community)
# change to root user to be able to install the addons and packages
USER root
# Fix centos mirrors for Alfresco 6.x
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* || true && \
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* || true
# Install modules and addons
RUN mkdir -p $TOMCAT_DIR/amps
COPY modules/amps $TOMCAT_DIR/amps
COPY modules/jars $TOMCAT_DIR/webapps/alfresco/WEB-INF/lib
RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
$TOMCAT_DIR/amps $TOMCAT_DIR/webapps/alfresco -directory -nobackup -force
# DATABASE
ARG DB
ENV DB $DB
RUN ls -la /etc/yum.repos.d/ && \
((sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && \
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* 2>/dev/null) || \
(sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/rocky-* && \
sed -i 's|#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=http://dl.rockylinux.org/$contentdir|g' /etc/yum.repos.d/rocky-*)) || \
(dnf clean all && dnf makecache && dnf update -y)
# Install mysql JDBC driver
RUN if [ "$DB" == "mariadb" ] ; then \
set -x \
&& yum clean all \
&& yum install -y wget \
&& yum clean all \
&& wget -P /tmp/ https://repo1.maven.org/maven2/org/mariadb/jdbc/mariadb-java-client/2.7.4/mariadb-java-client-2.7.4.... \
&& cp /tmp/mariadb-java-client-2.7.4.jar $TOMCAT_DIR/lib/ \
&& rm -rf /tmp/mariadb-java-client-2.7.4.jar; \
fi
# COMMS
ARG SOLR_COMMS
ENV SOLR_COMMS $SOLR_COMMS
# SSL
ARG TRUSTSTORE_TYPE
ARG TRUSTSTORE_PASS
ARG KEYSTORE_TYPE
ARG KEYSTORE_PASS
ARG CERT_ALIAS
ENV TRUSTSTORE_TYPE=$TRUSTSTORE_TYPE \
TRUSTSTORE_PASS=$TRUSTSTORE_PASS \
KEYSTORE_TYPE=$KEYSTORE_TYPE \
KEYSTORE_PASS=$KEYSTORE_PASS \
CERT_ALIAS=$CERT_ALIAS
# Enable SSL by adding the proper Connector to server.xml
RUN if [ "$SOLR_COMMS" == "https" ] ; then \
sed -i "s/\
[[:space:]]\+<\/Engine>/\n\
<\/Engine>\n\
<Connector port=\"8443\" protocol=\"org.apache.coyote.http11.Http11NioProtocol\"\n\
connectionTimeout=\"20000\" maxThreads=\"150\"\n\
SSLEnabled=\"true\" scheme=\"https\" secure=\"true\"\n\
defaultSSLHostConfigName=\"localhost\">\n\
<SSLHostConfig hostName=\"localhost\" protocols=\"TLSv1.3\"\n\
certificateVerification=\"required\"\n\
truststoreFile=\"\/usr\/local\/tomcat\/keystore\/ssl.truststore\"\n\
truststorePassword=\"${TRUSTSTORE_PASS}\" truststoreType=\"${TRUSTSTORE_TYPE}\">\n\
<Certificate certificateKeystoreFile=\"\/usr\/local\/tomcat\/keystore\/ssl.keystore\"\n\
certificateKeyAlias=\"${CERT_ALIAS}\" type=\"RSA\"\n\
certificateKeystorePassword=\"${KEYSTORE_PASS}\" certificateKeystoreType=\"${KEYSTORE_TYPE}\"\/>\n\
<\/SSLHostConfig>\n\
<\/Connector>/g" ${TOMCAT_DIR}/conf/server.xml; \
fi
This is my docker-compose.yml script:
services:
alfresco:
build:
context: ./alfresco
args:
ALFRESCO_TAG: ${ALFRESCO_CE_TAG}
DB: postgres
SOLR_COMMS: secret
mem_limit: 7488m
depends_on:
postgres:
condition: service_healthy
environment:
JAVA_TOOL_OPTIONS: "
-Dencryption.keystore.type=JCEKS
-Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
-Dencryption.keyAlgorithm=DESede
-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=DESede
"
JAVA_OPTS : '
-Ddb.username=alfresco
-Ddb.password=alfresco
-Ddb.driver=org.postgresql.Driver
-Ddb.url=jdbc:postgresql://postgres:5432/alfresco
-Dalfresco_user_store.adminpassword=209c6174da490caeb422f3fa5a7ae634
-Dsystem.preferred.password.encoding=bcrypt10
-Dsolr.host=solr6
-Dsolr.port=8983
-Dsolr.port.ssl=8983
-Dsolr.secureComms=secret
-Dsolr.baseUrl=/solr
-Dindex.subsystem.name=solr6
-Dsolr.sharedSecret=322ynh37fuk
-Dalfresco.host=${SERVER_NAME}
-Dalfresco.port=80
-Dapi-explorer.url=http://${SERVER_NAME}:80/api-explorer
-Dalfresco.protocol=http
-Dshare.host=${SERVER_NAME}
-Dshare.port=80
-Dshare.protocol=http
-Daos.baseUrlOverwrite=http://${SERVER_NAME}/alfresco/aos
-Dmessaging.broker.url="failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true"
-Ddeployment.method=DOCKER_COMPOSE
-Dcsrf.filter.enabled=false
-Dopencmis.server.override=true
-Dopencmis.server.value=http://${SERVER_NAME}:80
-DlocalTransform.core-aio.url=http://transform-core-aio:8090/
-Dhttpclient.config.transform.connectionRequestTimeout=500000
-Dcsrf.filter.enabled=false
-Dalfresco.restApi.basicAuthScheme=true
-Dauthentication.protection.enabled=false
-XX:+UseG1GC -XX:+UseStringDeduplication
-Dgoogledocs.enabled=false
-Ddev.email.not.sent=true
-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
'
healthcheck:
test:
- CMD
- curl
- -f
- http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/probes/-ready-
interval: 30s
timeout: 3s
retries: 3
start_period: 1m
volumes:
- alf-repo-data:/usr/local/tomcat/alf_data
- alf-repo-logs:/usr/local/tomcat/logs
transform-core-aio:
image: alfresco/alfresco-transform-core-aio:${TRANSFORM_ENGINE_TAG}
restart: on-failure
mem_limit: 2048m
environment:
JAVA_OPTS: "
-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
-Dserver.tomcat.threads.max=12
-Dserver.tomcat.threads.min=4
-Dlogging.level.org.alfresco.transform.common.TransformerDebug=ERROR
-Dlogging.level.org.alfresco.transform=ERROR
-Dlogging.level.org.apache.fontbox.ttf=ERROR
-Dlogging.level.org.apache.pdfbox.cos.COSDocument=ERROR
-Dlogging.level.org.apache.pdfbox.pdfparser=ERROR
-Dlogging.level.org.apache.pdfbox.filter.FlateFilter=ERROR
-Dlogging.level.org.apache.pdfbox.pdmodel.font=ERROR
-Dlogging.level.org.apache.pdfbox.pdmodel.font.PDSimpleFont=FATAL
-Dlogging.level.org.apache.pdfbox.pdmodel.font.PDFont=FATAL
-Dlogging.level.org.apache.pdfbox.pdmodel.font.PDCIDFont=FATAL
"
share:
build:
context: ./share
args:
SHARE_TAG: ${SHARE_TAG}
SERVER_NAME: ${SERVER_NAME}
HTTP_PORT: 80
mem_limit: 1872m
environment:
REPO_HOST: "alfresco"
REPO_PORT: "8080"
CSRF_FILTER_REFERER: "http://localhost:80/.*"
CSRF_FILTER_ORIGIN: "http://localhost:80"
JAVA_OPTS: "
-Dalfresco.context=alfresco
-Dalfresco.protocol=http
-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
"
depends_on:
alfresco:
condition: service_healthy
volumes:
- alf-share-logs:/usr/local/tomcat/logs
postgres:
image: postgres:${POSTGRES_TAG}
mem_limit: 1872m
environment:
- POSTGRES_PASSWORD=alfresco
- POSTGRES_USER=alfresco
- POSTGRES_DB=alfresco
- PGUSER=alfresco
command: "
postgres
-c max_connections=200
-c logging_collector=on
-c log_min_messages=LOG
-c log_directory=/var/log/postgresql"
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- postgres-data:/var/lib/postgresql/data
- postgres-logs:/var/log/postgresql
solr6:
build:
context: ./search
args:
SEARCH_TAG: ${SEARCH_CE_TAG}
SOLR_HOSTNAME: solr6
ALFRESCO_HOSTNAME: alfresco
ALFRESCO_COMMS: secret
CROSS_LOCALE: "true"
DISABLE_CONTENT_INDEXING: "false"
mem_limit: 3744m
environment:
SOLR_JAVA_MEM: "-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
#Solr needs to know how to register itself with Alfresco
SOLR_ALFRESCO_HOST: "alfresco"
SOLR_ALFRESCO_PORT: "8080"
#Alfresco needs to know how to call solr
SOLR_SOLR_HOST: "solr6"
SOLR_SOLR_PORT: "8983"
#Create the default alfresco and archive cores
SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
SOLR_OPTS: "
-XX:-UseLargePages
-Dalfresco.secureComms.secret=322ynh37fuk
"
depends_on:
alfresco:
condition: service_healthy
volumes:
- solr-data:/opt/alfresco-search-services/data
activemq:
image: alfresco/alfresco-activemq:${ACTIVEMQ_TAG}
mem_limit: 1g
volumes:
- activemq-data:/opt/activemq/data
content-app:
image: alfresco/alfresco-content-app:${ACA_TAG}
mem_limit: 256m
environment:
APP_BASE_SHARE_URL: "http://${SERVER_NAME}:80/#/preview/s"
APP_CONFIG_PLUGIN_PROCESS_SERVICE: false
depends_on:
alfresco:
condition: service_healthy
# HTTP proxy to provide HTTP Default port access to services
# SOLR API and SOLR Web Console are protected to avoid unauthenticated access
proxy:
image: nginx:stable-alpine
mem_limit: 128m
depends_on:
- alfresco
- solr6
- share
- content-app
volumes:
- ./config/nginx.conf:/etc/nginx/nginx.conf
- ./config/nginx.htpasswd:/etc/nginx/conf.d/nginx.htpasswd
ports:
- ${BIND_IP_NGINX:-0.0.0.0}:80:80
volumes:
alf-repo-data:
activemq-data:
alf-repo-logs:
alf-share-logs:
postgres-data:
postgres-logs:
solr-data:
Is there some compatibility issue with Alfresco Community Edition 25.2 and pdf-toolkit-repo-1.4.4-SNAPSHOT.amp ?
This is the directory structure for addons I am using:
3 weeks ago
Hi Fedorow,
These are all the logs:
ejike@BlueFlame:~/alfresco-docker-compose$ docker-compose logs alfresco | tail -50
alfresco-1 | java.base@17.0.15/jdk.internal.misc.Unsafe.park(Native Method)
alfresco-1 | java.base@17.0.15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
alfresco-1 | java.base@17.0.15/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
alfresco-1 | java.base@17.0.15/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3465)
alfresco-1 | java.base@17.0.15/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3436)
alfresco-1 | java.base@17.0.15/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1630)
alfresco-1 | java.base@17.0.15/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
alfresco-1 | org.alfresco.repo.event2.EnqueuingEventSender.lambda$1(EnqueuingEventSender.java:106)
alfresco-1 | org.alfresco.repo.event2.EnqueuingEventSender$$Lambda$725/0x00007f487888d8a8.run(Unknown Source)
alfresco-1 | java.base@17.0.15/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
alfresco-1 | java.base@17.0.15/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
alfresco-1 | java.base@17.0.15/java.lang.Thread.run(Thread.java:840)
alfresco-1 | 19-Aug-2025 06:59:55.433 SEVERE [main] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [alfresco] created a ThreadLocal with key of type [org.alfresco.repo.template.QNameAwareObjectWrapper$1] (value [org.alfresco.repo.template.QNameAwareObjectWrapper$1@3285eb2c]) and a value of type [org.alfresco.repo.template.QNameAwareObjectWrapper$1$1] (value [org.alfresco.repo.template.QNameAwareObjectWrapper$1$1@1422398113(2.3.0, useAdaptersForContainers=false, forceLegacyNonListCollections=true, iterableSupport=false, domNodeSupport=true, jythonSupport=trueexposureLevel=1, exposeFields=false, preferIndexedReadMethod=true, treatDefaultMethodsAsBeanMembers=false, sharedClassIntrospCache=none, ...)]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
alfresco-1 | 19-Aug-2025 06:59:55.434 SEVERE [main] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [alfresco] created a ThreadLocal with key of type [org.alfresco.repo.template.QNameAwareObjectWrapper$1] (value [org.alfresco.repo.template.QNameAwareObjectWrapper$1@2ae2740d]) and a value of type [org.alfresco.repo.template.QNameAwareObjectWrapper$1$1] (value [org.alfresco.repo.template.QNameAwareObjectWrapper$1$1@925050614(2.3.0, useAdaptersForContainers=false, forceLegacyNonListCollections=true, iterableSupport=false, domNodeSupport=true, jythonSupport=trueexposureLevel=1, exposeFields=false, preferIndexedReadMethod=true, treatDefaultMethodsAsBeanMembers=false, sharedClassIntrospCache=none, ...)]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
alfresco-1 | 19-Aug-2025 06:59:55.435 SEVERE [main] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [alfresco] created a ThreadLocal with key of type [org.alfresco.repo.template.QNameAwareObjectWrapper$1] (value [org.alfresco.repo.template.QNameAwareObjectWrapper$1@236a67a9]) and a value of type [org.alfresco.repo.template.QNameAwareObjectWrapper$1$1] (value [org.alfresco.repo.template.QNameAwareObjectWrapper$1$1@759998226(2.3.0, useAdaptersForContainers=false, forceLegacyNonListCollections=true, iterableSupport=false, domNodeSupport=true, jythonSupport=trueexposureLevel=1, exposeFields=false, preferIndexedReadMethod=true, treatDefaultMethodsAsBeanMembers=false, sharedClassIntrospCache=none, ...)]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
alfresco-1 | 19-Aug-2025 06:59:55.436 SEVERE [main] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [alfresco] created a ThreadLocal with key of type [java.lang.ThreadLocal.SuppliedThreadLocal] (value [java.lang.ThreadLocal$SuppliedThreadLocal@1437fcaa]) and a value of type [org.alfresco.util.CachingDateFormat] (value [yyyy-MM-dd]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
alfresco-1 | 19-Aug-2025 06:59:55.436 SEVERE [main] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [alfresco] created a ThreadLocal with key of type [java.lang.ThreadLocal.SuppliedThreadLocal] (value [java.lang.ThreadLocal$SuppliedThreadLocal@3a0d7c4c]) and a value of type [org.alfresco.util.transaction.TransactionSupportUtil.ResourcesHolder] (value [org.alfresco.util.transaction.TransactionSupportUtil$ResourcesHolder@4a2a038b]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
alfresco-1 | 19-Aug-2025 06:59:55.446 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/alfresco] has finished in [33,942] ms
alfresco-1 | 19-Aug-2025 06:59:55.446 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/api-explorer]
alfresco-1 | 19-Aug-2025 06:59:55.586 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
alfresco-1 | 19-Aug-2025 06:59:55.673 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/api-explorer] has finished in [227] ms
alfresco-1 | 19-Aug-2025 06:59:55.673 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/_vti_bin]
alfresco-1 | 19-Aug-2025 06:59:55.825 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
alfresco-1 | 19-Aug-2025 06:59:55.830 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/_vti_bin] has finished in [156] ms
alfresco-1 | 19-Aug-2025 06:59:55.830 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/ROOT]
alfresco-1 | 19-Aug-2025 06:59:55.836 WARNING [main] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match [Context] failed to set property [debug] to [100]
alfresco-1 | 19-Aug-2025 06:59:55.969 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
alfresco-1 | 19-Aug-2025 06:59:55.973 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/ROOT] has finished in [143] ms
alfresco-1 | 19-Aug-2025 06:59:55.979 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
alfresco-1 | 19-Aug-2025 06:59:56.007 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [33386] milliseconds
alfresco-1 | 19-Aug-2025 07:00:00.006 INFO [QuartzScheduler_QuartzSchedulerThread] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load [org.quartz.ExecuteInJTATransaction]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
alfresco-1 | java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.quartz.ExecuteInJTATransaction]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
alfresco-1 | at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1400)
alfresco-1 | at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1388)
alfresco-1 | at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1222)
alfresco-1 | at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1189)
alfresco-1 | at org.quartz.ee.jta.JTAAnnotationAwareJobRunShellFactory.createJobRunShell(JTAAnnotationAwareJobRunShellFactory.java:100)
alfresco-1 | at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:402)
alfresco-1 | Exception in thread "QuartzScheduler_QuartzSchedulerThread" java.lang.NoClassDefFoundError: org/quartz/ExecuteInJTATransaction
alfresco-1 | at org.quartz.ee.jta.JTAAnnotationAwareJobRunShellFactory.createJobRunShell(JTAAnnotationAwareJobRunShellFactory.java:100)
alfresco-1 | at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:402)
alfresco-1 | Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.quartz.ExecuteInJTATransaction]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
alfresco-1 | at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1390)
alfresco-1 | at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1222)
alfresco-1 | at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1189)
alfresco-1 | ... 2 more
alfresco-1 | Caused by: java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.quartz.ExecuteInJTATransaction]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
alfresco-1 | at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1400)
alfresco-1 | at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1388)
alfresco-1 | ... 4 more
Explore our Alfresco products with the links below. Use labels to filter content by product module.