`
sumongh
  • 浏览: 226386 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

内容仓库模型JCR(续

阅读更多
java 代码
  1. public void attachFileToBlogEntry(String blogTitle,   
  2.   InputStream uploadInputStream) throws BlogApplicationException {   
  3.     Session session = JackrabbitPlugin.getSession();   
  4.     Node blogEntryNode = getBlogEntryNode(blogTitle, session);   
  5.     blogEntryNode.setProperty(PROP_ATTACHMENT, uploadInputStream);   
  6.     session.save();   
  7.   
  8. }   
  9. public InputStream getAttachedFile(String blogTitle) throws BlogApplicationException {   
  10.     InputStream attachFileIS = null;   
  11.     Node blogEntryNode = getBlogEntryNode(blogTitle);   
  12.     Value attachFileValue = (Value) blogEntryNode.getProperty(PROP_ATTACHMENT).getValue();   
  13.     attachFileIS = attachFileValue.getStream();   
  14.   return attachFileIS;   
  15. }  
正如你看到的那样,我们的代码在处理二进制内容和一般内容间并没有什么太大的区别。仅仅一点不同的是你要通过InputStream 对象来保存和获取二进制数据。在我们的配置文件里关于persistent manager会有一个externalBLOBs 属性。把这个属性设为true, 图片将会保存在文件里,相反则会保存在数据库的blob字段里。

总结
到这里,我们对 JSR-170, Jackrabbit以及如何使用 JSR-170 API开发一个简单的应用程序都有了大概的了解。我们的讨论更多的在于基础。相信大家一定会对内容仓库有个初步的认识。
分享到:
评论

相关推荐

    JCR的2.0版规范

    - **XML格式**: JCR仓库支持将内容导出为两种XML格式:系统视图和文档视图。 - **系统视图**: 完整地保存所有节点及其子图信息。 - **文档视图**: 更加易读,但可能丢失部分子图信息。 ##### 2.6 节点类型的发现 - ...

    JCR官方说明文档.doc

    《Java内容存储库API 2.0规范》(JCR 2.0)是Java技术中的一个重要标准,它定义了如何在Java环境中访问和管理内容仓库。这份文档详细阐述了内容仓库模型、连接仓库、读取数据、查询、导出、节点类型发现以及权限和能力...

    JCR 170 文档

    5. **仓库模型(The Repository Model)**:详述了JCR仓库的结构,包括节点、属性、项等基本概念。 6. **遍历访问与直接访问(Traversal Access & Direct Access)**:两种访问仓库内容的方式,分别适用于树形结构...

    modeshape-jcr-api-4.0.0.Alpha3.zip

    JCR API是一个Java API,允许开发者访问和管理内容仓库,这些仓库可以存储各种类型的数据,如文档、图片、视频等,并提供了版本控制、查询、安全性和其他高级功能。 Modeshape 4.0.0.Alpha3是该API的一个早期版本,...

    Java内容仓库的繁荣期2.0的公众评测版

    现在正是Java内容仓库(Java Content Repositories)的繁荣期。第二版JCR API已经发布了公众评估版(JSR-283),本文介绍了JSR-283在几个方面的改进。文中还阐述了JCR2.0的十大特征:查询扩展主要围绕对SQL,尤其是...

    JackRabbit 学习参考资料总汇

    从标签来看,这份资料主要涉及JackRabbit以及JCR(Java Content Repository)的内容仓库技术。JCR是一种Java API标准,用于与内容仓库进行交互,而JackRabbit则是Apache提供的一个开源实现。 JackRabbit的API学习...

    JCRWorkflow:自适应表单数据提交给JCR的AEM工作流

    总之,JCRWorkflow项目提供了一种有效的方法,将AEM自适应表单收集的用户数据整合到JCR内容仓库中,从而实现内容的高效管理和业务流程自动化。对于任何希望优化AEM中表单数据处理的开发者来说,理解和掌握这一技术都...

    音视频-编解码-面向流媒体协同创作的内容管理关键技术研究.pdf

    JSR-170是Java Content Repository (JCR) API的标准,它定义了访问和管理内容仓库的一套接口,旨在提供统一的内容存储和检索机制。作者通过应用JSR-170,提高了流媒体内容管理的效率和灵活性。 接着,论文设计了一...

    mcs:使用 jcr 和 Oak 的 mcs 原型

    这个原型利用了JCR的强大功能来构建内容仓库,并且选择了Oak作为底层存储引擎,以实现高效、可靠的内容管理和访问。通过使用Oak,开发者可以享受到其对于大型数据集的优化处理,以及对分布式系统的良好支持。 在...

    jackrabbit2.6

    1. **JCR(Java Content Repository)规范**:JCR 是一个由Java Community Process(JCP)制定的标准,定义了访问和管理内容仓库的API。它允许开发人员创建、修改和查询存储在内容仓库中的数据,这些数据可以是文档...

    appfuse 2.0.2文档 pdf

    压缩包内的文件名为"JCR document.doc"和"Jackrabbit Architecture.doc",这两个文档可能分别涉及到Java内容仓库(Java Content Repository, JCR)和Jackrabbit,一个流行的JCR实现。 JCR是Java Specification ...

    jackrabbit-trunk.rar

    Jackrabbit是一个完全实现了JCR(Java Content Repository,Java内容仓库)规范的开源内容存储库。JCR是Java社区过程(JCP)制定的标准,用于访问和管理结构化和非结构化内容。本文将围绕Jackrabbit-Trunk的源码展开...

    jbpm(java 企业工作流程管理)开了包(全)

    1. jcr-1.0.jar:这部分可能包含了Java Content Repository(JCR)的实现,JCR是Java Specification Request(JSR)170的一部分,用于访问和管理内容仓库。jbpm可能利用JCR来存储和检索流程相关数据。 2. jbpm-...

    gears:这是使用Vaadin和Jackrabbit的概念应用程序框架

    JCR标准定义了一个API,用于访问和管理内容仓库中的数据,这些数据可以是文档、图片、音频文件等。Jackrabbit提供了强大的版本控制、查询功能和安全性管理,使得组织和检索大量非结构化数据变得容易。它还支持多种...

    sling-handlebars-demo:把手吊索脚本引擎的演示应用程序

    在Demo中,内容可能存储在JCR仓库中,然后通过Sling服务提供给Handlebars模板。 8. **Sling启动器**:为了运行这个Demo,你可能需要Apache Sling启动器,它提供了运行Sling应用程序的最小环境。 9. **JavaScript和...

    AEM-SPA-测试站点

    3. **内容模型定义**:AEM的核心是内容管理,因此项目可能包含了JSON格式的内容模型定义,这些定义位于`src/main/content/jcr_root`下,用于描述SPA页面的结构和数据。 4. **Sling模型和适配器**:AEM的Sling模型...

    吊索

    Apache Sling的核心特性之一是它的资源模型,它将所有内容视为资源,并通过统一的API进行访问。资源可以是任何类型的数据,如文本、图片或者XML文档,它们都有路径和属性,类似于文件系统中的文件。Sling的这种设计...

    spire_2.10-0.7.4.zip

    Apache Sling是一款基于Java Content Repository (JCR) 的开源服务器,常用于构建内容管理系统和Web应用程序。 在Sling-Query项目中,开发者可以像使用jQuery那样操作Sling资源,通过链式调用来过滤、选择、修改或...

Global site tag (gtag.js) - Google Analytics