ClassCastException ao chamar um serviço CQ

Problema

Foi configurado um Serviço CQ personalizado colocado em /classes/.../serviceclass. Se este Serviço CQ é acessado a partir de um script JSP (por ServiceManager.getService(), então um ClassCastException deve ser recebido.

Solução

Para garantir que a classe carregue do mesmo carregador de classe, coloque o arquivo de classe (incluindo a hierarquia de diretórios do pacote) em um arquivo jar. Em seguida, copie-o para /system/bin.new/lib. O com.day.cq.bootstrap.BootClassLoader carrega a classe. O gerenciador de serviços, assim como o sistema JSP, usam o com.day.cq.bootstrap.BootClassLoader.

Observação:

Certifique-se de que a classe não esteja em /classes/... ou ainda no cache de classe (/system/works/classes) de uma compilação anterior em cqde. Em seguida, reinicie o.

Informações adicionais

O ClassCastException ocorre quando o gerenciador de serviços e o sistema JSP não usam o mesmo carregador de classes. Portanto, a classe não é a mesma para o gerenciador de serviços e o sistema JSP.

 Adobe

Receba ajuda com mais rapidez e facilidade

Novo usuário?