2013-07-08 3 views
1

следующие работы: тонкиеAPI-интерфейс MarkLogic Java - QueryManager с JAXB?

XMLDocumentManager docMgr = client.newXMLDocumentManager(); 

JAXBContext context = JAXBContext.newInstance(Document.class); 
JAXBHandle jaxbHandle = new JAXBHandle(context); 
docMgr.read(
    "/masters/1337-12/t/1439-1074_2013_2_toc.xml", 
    jaxbHandle); 

Assert.assertNotNull(jaxbHandle); 

Document document = (Document) jaxbHandle.get(); 

Но что я могу сделать, если я не знаю, документ URI, и я должен сделать поиск как следующее:

StructuredQueryBuilder qb = new StructuredQueryBuilder(
    "OPTIONS_NAME"); 
StructuredQueryDefinition querydef = qb.valueConstraint("tocId", 
    tocId); 
// contains RAW data - 
StringHandle resultsHandle = queryMgr.search(querydef, new StringHandle()); 

Как я могу преобразовать этот результат с JAXB?

+0

хорошо .. потому что JAVA API довольно медленный (протестирован сейчас). Я переключился на XCC .. – user1731299

+0

Мне было бы интересно узнать, где производительность Java API не оправдала ваших ожиданий. Можете ли вы предоставить более подробную информацию? –

ответ

2

Для интерфейса POJO для поиска используйте встроенный класс SearchHandle.

JAXB проще всего использовать при построении древовидных структур данных от объектов Java до XML и обратно (и, следовательно, полезно для вашего собственного контента).

Что касается производительности, XCC работает быстрее, чем Java API для непосредственных операций с документами. Вот почему MLCP использует XCC для проглатывания. Разница в производительности не значительна для большинства приложений, которые взаимодействуют с базой данных (особенно те, которые нуждаются в услугах добавления стоимости, предоставляемых REST API).

Смежные вопросы