Справочник по CQ5 QueryBuilder в Sling Servlet

Я объявляю слинг-сервлет вот так

@Component(metatype = false)
@Service(Servlet.class)
@Properties({
        @Property(name = "sling.servlet.paths", value = "/bin/foo/bar"),
        @Property(name = "sling.servlet.methods", value = "POST") })
public class FooBarServlet extends SlingAllMethodsServlet {
    ...
}

Я переопределяю doPost, как это так

@Override
    protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws IOException {
    ...
}

И я могу отправлять сообщения от клиента. Большой!

Я добавляю следующее

@Reference
private QueryBuilder queryBuilder;

согласно документации, ссылка на конструктор запросов должна быть введена. Но, похоже, нет. В журнале я вижу эту ошибку

bindQueryBuilder cannot be found (java.lang.VerifyError: ...

И когда я пытаюсь отправить в сервлет, я получаю это

javax.jcr.RepositoryException: org.apache.sling.api.resource.PersistenceException: Resource at '/bin/foo/bar' is not modifiable.

И в консоли OSGi я вижу, что мой пакет установлен, и это то, что он говорит о моем сервлете

Service ID 3075 Types: javax.servlet.Servlet
Service PID: com.myproject.FooBarServlet
Component Name: com.myproject.FooBarServlet
Component ID: 5526
Vendor: Adobe

Любые предложения относительно того, что я делаю неправильно?

Ответы на вопрос(2)

Ваш ответ на вопрос