Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events

org.apache.sling.distribution.DistributionRequest is not resolved in aem 6.5.2


Level 3

Hello Everyone,

We were using sling distribution API in AEM 6.3. Now when we try upgrading to AEM 6.5.2 below imports are not resolving. Did someone face this issue? if yes could you please share your findings and inputs to come out from this situation. Is there any alternative solution for this ?

import org.apache.sling.distribution.DistributionRequest;

import org.apache.sling.distribution.DistributionRequestType;

import org.apache.sling.distribution.DistributionResponse;

import org.apache.sling.distribution.Distributor;

import org.apache.sling.distribution.SimpleDistributionRequest;

4 Replies


Employee Advisor

I believe there were some changes done internally to hide the distribution core bundle(Internal ticket - GRANITE-20094).  Can you try the following:

  • Navigate to /system/console/configMgr and open the FilterResolverHookFactory configuration
  • Search for org.apache.sling.distribution.api
  • At the end of the line, add ",com.<YOUR_PACKAGE_NAME>.*" and save

Here the package name should be the one that will be using the "org.apache.sling.distribution" API.


Level 3

Hi @jbrar

At first I am not able to run the build also. I am getting compilation error because of those imports. So wouldn't be able to try your workaround.

Any other thoughts here??


Employee Advisor

These packages are not supposed to be used by downstream consumers (= customers) directly, but they should be used by Adobe product bundles. That's enforced during runtime.

That fact, that it was visible in 6.5 GA release, was by mistake, and it has been corrected later.

Why do you need to access these java packages directly?


Level 3

Hi ,

we are using this to sync user profiles. FYI below is the similar parts of code snippets how we used distributor.



  service = ResourceChangeListener.class,

  property = {

  ResourceChangeListener.PATHS + "=glob:/home/users/**/profile",

  ResourceChangeListener.CHANGES + "=ADDED",

  ResourceChangeListener.CHANGES + "=CHANGED"


private Distributor distributor;


public void onChange(@Nonnull List<ResourceChange> changes) {

   if (publish) {

   for (final ResourceChange change : changes) {

  ResourceResolver resolver = null;

   try {

  resolver = resourceResolverFactory

  DistributionRequest request = new SimpleDistributionRequest(DistributionRequestType.ADD, change.getPath());

  DistributionResponse response = distributor.distribute("user-agent", resolver, request);

   log.debug(response.getMessage() + " - " + response.getState());

  } catch (Exception e) {

   log.error(e.getMessage(), e);

  } finally {

   if (resolver != null && resolver.isLive()) {







In 6.3 it was available in uber jar itself. now in 6.5/6.5.2 its no longer available. Even after adding below dependency imports related to sling distribution is resolved but bundle is in installed state saying missing requirement [**bundle name**** [615](R 615.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.sling.distribution)(version>=0.3.0)(!(version>=1.0.0)))