我有一个在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);
答案 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
Adobe的另一个例子: How to create a system user (rep:SystemUser) in AEM 6.1?