java - 如何从资源解析器工厂获取会话对象?
问题描述
@Component
public class AddNode {
@Reference
static ResourceResolverFactory resolverFactory;
static Session session;
public static void main(String[] args) throws Exception {
ResourceResolver resourceResolver = resolverFactory.getServiceResourceResolver(null);
session = resourceResolver.adaptTo(Session.class);
Node root = session.getRootNode();
Node adobe = root.addNode("ProgramNode");
Node day = adobe.addNode("subnode");
day.setProperty("jcr:title", "programNode");
Node node = root.getNode("ProgramNode/subnode");
System.out.println(node.getPath());
System.out.println(node.getProperty("jcr:title").getString());
session.save();
session.logout();
}
}
这里 resolverFactory.getServiceResourceResolver(null); 我需要在 null 处传递任何参数。请举一些例子来访问存储库。
解决方案
查看 ResourceResolverFactory 的文档。
https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolverFactory.html
推荐阅读
- javascript - 迭代数组时如何获得总数?
- github - 在 github 操作中切换环境变量
- docker - 附加到正在运行的远程容器时如何使 VSCode 运行自定义脚本
- java - 如何将数据从返回活动传递到先前活动中的对话框?
- python - Error when installing Tensorflow - Python 3.8
- android - Filter a contact List through TextWatcher in Android
- android - Facebook login crashing while Facebook app is installed
- c++ - OpenGL缓冲区问题
- go - How to get Prometheus Node Exporter metrics with JSON format
- javascript - Remove button is not working when dynamic add fields