Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Where does AEM stores complied HTL code classes, where can I find bundle persistent storage area

Avatar

Level 3

Hi All,

 

Sometimes in my local I am observing changes in the HTL file are not reflecting properly even everything is correct. I suspect this is happening due the the Java classes created out of HTL file is cached and is not updating properly. I looked into the OSGI configuration for this "Apache Sling Scripting HTL Engine Configuration" (Image1) As shown below describing this path is determined by Class loader configuration (image 2)

shehjadk07_0-1653583973694.png

 

shehjadk07_1-1653584068887.png

 

As described in image 2 the stored file are in "Controls where the filesystem compiled scripts cache is stored. When the value is set to null (default) the cache is stored on the bundle persistent storage area. (fsclassloader.fileSystemCompiledScriptsCacheLocation)" so where can I find bundle persistent storage area?

 

1 Accepted Solution

Avatar

Correct answer by
Level 3

After googling a bit I found out

This was changed in AEM 6.1

Refer to this blog for more details

https://www.danklco.com/posts/2015/06/new-apache-sling-fs-classloader-console.html

Currently, to find the appropriate files, you will need to locate the bundle ID for the FSClassLoader bundle, then the java files will be located at:

 [AEM_INSTALL_DIR]/crx-quickstart/launchpad/felix/bundle[BUNDLE_ID]/data/classes

View solution in original post

2 Replies

Avatar

Community Advisor

Hi @shehjadk07 

To find the location, please follow below steps:

  1. Navigate to Web console(/system/console)
  2. Search for FSClassLoader bundle
  3. Note down the ID of FSClassLoader bundle. Generally it is 515 but can change in deployed instance.
  4. Navigate to \crx-quickstart\launchpad\felix folder and search folder with name bundleXXX where XXX is bundle ID. You will see classes folder.

This is the folder where compiled classes are placed by AEM.

Here is the https://experienceleague.adobe.com/docs/experience-cloud-kcs/kbarticles/KA-16543.html?lang=en

resolution for how to clear classes and HTL cache.

Hope that helps!

Regards,
Santosh

Avatar

Correct answer by
Level 3

After googling a bit I found out

This was changed in AEM 6.1

Refer to this blog for more details

https://www.danklco.com/posts/2015/06/new-apache-sling-fs-classloader-console.html

Currently, to find the appropriate files, you will need to locate the bundle ID for the FSClassLoader bundle, then the java files will be located at:

 [AEM_INSTALL_DIR]/crx-quickstart/launchpad/felix/bundle[BUNDLE_ID]/data/classes