Um pacote OSGi vazio causa a atualização do OSGi Framework | AEM 6.x

Problema

Ao implantar código no AEM, vemos que o pacote de estrutura do OSGi é atualizado, causando uma interrupção no AEM. Nos logs, vemos mensagens semelhantes às abaixo para nosso pacote personalizado:

19.04.2017 15:09:11.606 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Updated bundle custom-bundle-name [496] from resource TaskResource(url=jcrinstall:/apps/customapp/install/custom-bundle-name-1.2.0-SNAPSHOT.jar, entity=bundle:custom-bundle-name, state=INSTALL, attributes=[org.apache.sling.installer.api.tasks.ResourceTransformer=:9035:9042:9011:, Bundle-SymbolicName=custom-bundle-name, Bundle-Version=1.2.0.SNAPSHOT], digest=1492632551274)
19.04.2017 15:09:11.607 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Refreshing 1 bundles: [custom-bundle-name [496]]
19.04.2017 15:09:11.608 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Waiting up to 90 seconds for bundles refresh
19.04.2017 15:09:11.609 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Done refreshing 1 bundles
19.04.2017 15:09:11.609 *INFO* [OsgiInstallerImpl] custom-bundle-nameBundleEvent RESOLVED
19.04.2017 15:09:11.609 *INFO* [OsgiInstallerImpl] custom-bundle-name BundleEvent STARTING
19.04.2017 15:09:11.609 *INFO* [OsgiInstallerImpl] custom-bundle-name BundleEvent STARTED
19.04.2017 15:09:11.610 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Started bundle custom-bundle-name [496]
19.04.2017 15:09:11.627 *INFO* [FelixDispatchQueue] org.apache.felix.framework FrameworkEvent PACKAGES REFRESHED

Ambiente

AEM 6.x

Causa

1. Uma causa possível é o pacote não ter exportações ou importações ou qualquer código nele. Essa é uma causa conhecida do problema.
2. O pacote configurável pode estar exportando pacotes java no nível do sistema que já foram exportados e usados por algum pacote principal AEM, Apache Felix ou Sling

Resolução

Pacote OSGi vazio

Se você estiver implantando um pacote vazio, pare de fazer isso. Não é válido fazer isso, a menos que seja um pacote de fragmentos contendo recursos.

Exportação no nível do sistema

Se você estiver exportando alguma biblioteca que é usada pelo sistema (AEM, Sling, Apache Felix, Oak, etc.), modifique seu pacote personalizado para incorporar a biblioteca usando a tag do plugin maven-bundle <Embed-Dependency>. Você poderá escolher se deseja ou não adicionar a biblioteca à tag <Export-Package>. Você ainda poderá acessar a biblioteca dentro do código contido no pacote, mas ela não será exportada para todos os outros pacotes.

Logotipo da Adobe

Fazer logon em sua conta