无法为bundle org.demo.anthony.mybundle.core [446]和子服务null

时间:2015-08-27 14:11:54

标签: aem osgi-bundle

我有一个在AEM 6中工作完全正常的软件包。我刚刚升级到AEM 6.1,当我部署软件包时,我收到以下错误:

  

javax.jcr.LoginException:无法派生bundle的用户名   org.demo.anthony.mybundle.core [446]和子服务null   org.apache.sling.jcr.base.AbstractSlingRepository2.loginService(AbstractSlingRepository2.java:336)     在   org.demo.anthony.mybundle.core.impl.EvernoteSyncServiceImpl.getSession(EvernoteSyncServiceImpl.java:108)     在   org.demo.anthony.mybundle.core.impl.EvernoteSyncServiceImpl.syncNotes(EvernoteSyncServiceImpl.java:201)     在   org.demo.anthony.mybundle.core.impl.EvernoteSyncServiceImpl.syncWebClipperNotes(EvernoteSyncServiceImpl.java:174)     在   org.demo.nennig.evernote.core.impl.schedulers.EvernoteSyncTask.run(EvernoteSyncTask.java:96)     在   org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:105)     在org.quartz.core.JobRunShell.run(JobRunShell.java:202)at   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)     在   java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:603)     在java.lang.Thread.run(Thread.java:722)

这就是我获取会话的方式(这是堆栈跟踪中引用的代码中的第108行):

session = repository.loginService(null, null);

1 个答案:

答案 0 :(得分:1)

在AEM 6.0之前,默认情况下“admin”用户可以访问这些服务。从6.1开始,您必须为特定服务指定“系统用户”和/或其他用户。您可以在 Sling Service User Mapper

中定义这些映射

我们遇到了类似的问题,以下是我的一些解决方案,看看他们是否会提供帮助:

http://www.codeply.com/go/LxasHWd0rd

ResourceResolverFactory getServiceResourceResolver throws Exception in AEM 6.1

Adob​​e的另一个例子: How to create a system user (rep:SystemUser) in AEM 6.1?