从MarkLogic Java API获取最后修改的属性

时间:2013-02-07 20:45:52

标签: java marklogic

我正在试图弄清楚如何通过Java API访问存储在MarkLogic中的文件的last-modified属性,但我是空的。

我尝试通过元数据来实现它,但对于一个简单的XML文件,我根本没有看到任何元数据。我有一个存储在MarkLogic中的测试文件。当我运行此代码时:

    DocumentMetadataHandle metadata = new DocumentMetadataHandle();

    XMLDocumentManager docMgr = client.newXMLDocumentManager();
    docMgr.read("/path/test_file.xml", metadata, handle);

    System.out.println("Output: " + handle.get());

    System.out.println("Properties:\n");
    for (Map.Entry<QName,Object> prop : metadata.getProperties().entrySet()) {
        System.out.println("Prop: " + prop.getKey() + ": " + prop.getValue());
    }       

......我看到了我期望的对象,但没有属性。

我做错了吗?我是否需要调整数据库定义中的某些内容以使这些信息可访问?

1 个答案:

答案 0 :(得分:2)

检查数据库配置以确保启用“维护上次修改”。该设置位于/database-admin.xqy屏幕上。

接下来,使用端口8002上的查询控制台验证属性是否可用。这是一个XQuery接口,但您只需要一个简单的查询:xdmp:document-properties('some-uri')其中some-uri是您的文档URI。< / p>

如果xdmp:document-properties有效,那么您可以更加确信问题出在Java层中。

相关问题