java 代码
- public void attachFileToBlogEntry(String blogTitle,
- InputStream uploadInputStream) throws BlogApplicationException {
- Session session = JackrabbitPlugin.getSession();
- Node blogEntryNode = getBlogEntryNode(blogTitle, session);
- blogEntryNode.setProperty(PROP_ATTACHMENT, uploadInputStream);
- session.save();
-
- }
- public InputStream getAttachedFile(String blogTitle) throws BlogApplicationException {
- InputStream attachFileIS = null;
- Node blogEntryNode = getBlogEntryNode(blogTitle);
- Value attachFileValue = (Value) blogEntryNode.getProperty(PROP_ATTACHMENT).getValue();
- attachFileIS = attachFileValue.getStream();
- return attachFileIS;
- }
正如你看到的那样,我们的代码在处理二进制内容和一般内容间并没有什么太大的区别。仅仅一点不同的是你要通过InputStream 对象来保存和获取二进制数据。在我们的配置文件里关于persistent manager会有一个externalBLOBs 属性。把这个属性设为true, 图片将会保存在文件里,相反则会保存在数据库的blob字段里。
总结
到这里,我们对 JSR-170, Jackrabbit以及如何使用 JSR-170 API开发一个简单的应用程序都有了大概的了解。我们的讨论更多的在于基础。相信大家一定会对内容仓库有个初步的认识。
分享到:
相关推荐
- **XML格式**: JCR仓库支持将内容导出为两种XML格式:系统视图和文档视图。 - **系统视图**: 完整地保存所有节点及其子图信息。 - **文档视图**: 更加易读,但可能丢失部分子图信息。 ##### 2.6 节点类型的发现 - ...
《Java内容存储库API 2.0规范》(JCR 2.0)是Java技术中的一个重要标准,它定义了如何在Java环境中访问和管理内容仓库。这份文档详细阐述了内容仓库模型、连接仓库、读取数据、查询、导出、节点类型发现以及权限和能力...
5. **仓库模型(The Repository Model)**:详述了JCR仓库的结构,包括节点、属性、项等基本概念。 6. **遍历访问与直接访问(Traversal Access & Direct Access)**:两种访问仓库内容的方式,分别适用于树形结构...
JCR API是一个Java API,允许开发者访问和管理内容仓库,这些仓库可以存储各种类型的数据,如文档、图片、视频等,并提供了版本控制、查询、安全性和其他高级功能。 Modeshape 4.0.0.Alpha3是该API的一个早期版本,...
现在正是Java内容仓库(Java Content Repositories)的繁荣期。第二版JCR API已经发布了公众评估版(JSR-283),本文介绍了JSR-283在几个方面的改进。文中还阐述了JCR2.0的十大特征:查询扩展主要围绕对SQL,尤其是...
从标签来看,这份资料主要涉及JackRabbit以及JCR(Java Content Repository)的内容仓库技术。JCR是一种Java API标准,用于与内容仓库进行交互,而JackRabbit则是Apache提供的一个开源实现。 JackRabbit的API学习...
总之,JCRWorkflow项目提供了一种有效的方法,将AEM自适应表单收集的用户数据整合到JCR内容仓库中,从而实现内容的高效管理和业务流程自动化。对于任何希望优化AEM中表单数据处理的开发者来说,理解和掌握这一技术都...
JSR-170是Java Content Repository (JCR) API的标准,它定义了访问和管理内容仓库的一套接口,旨在提供统一的内容存储和检索机制。作者通过应用JSR-170,提高了流媒体内容管理的效率和灵活性。 接着,论文设计了一...
这个原型利用了JCR的强大功能来构建内容仓库,并且选择了Oak作为底层存储引擎,以实现高效、可靠的内容管理和访问。通过使用Oak,开发者可以享受到其对于大型数据集的优化处理,以及对分布式系统的良好支持。 在...
1. **JCR(Java Content Repository)规范**:JCR 是一个由Java Community Process(JCP)制定的标准,定义了访问和管理内容仓库的API。它允许开发人员创建、修改和查询存储在内容仓库中的数据,这些数据可以是文档...
压缩包内的文件名为"JCR document.doc"和"Jackrabbit Architecture.doc",这两个文档可能分别涉及到Java内容仓库(Java Content Repository, JCR)和Jackrabbit,一个流行的JCR实现。 JCR是Java Specification ...
Jackrabbit是一个完全实现了JCR(Java Content Repository,Java内容仓库)规范的开源内容存储库。JCR是Java社区过程(JCP)制定的标准,用于访问和管理结构化和非结构化内容。本文将围绕Jackrabbit-Trunk的源码展开...
1. jcr-1.0.jar:这部分可能包含了Java Content Repository(JCR)的实现,JCR是Java Specification Request(JSR)170的一部分,用于访问和管理内容仓库。jbpm可能利用JCR来存储和检索流程相关数据。 2. jbpm-...
JCR标准定义了一个API,用于访问和管理内容仓库中的数据,这些数据可以是文档、图片、音频文件等。Jackrabbit提供了强大的版本控制、查询功能和安全性管理,使得组织和检索大量非结构化数据变得容易。它还支持多种...
在Demo中,内容可能存储在JCR仓库中,然后通过Sling服务提供给Handlebars模板。 8. **Sling启动器**:为了运行这个Demo,你可能需要Apache Sling启动器,它提供了运行Sling应用程序的最小环境。 9. **JavaScript和...
3. **内容模型定义**:AEM的核心是内容管理,因此项目可能包含了JSON格式的内容模型定义,这些定义位于`src/main/content/jcr_root`下,用于描述SPA页面的结构和数据。 4. **Sling模型和适配器**:AEM的Sling模型...
Apache Sling的核心特性之一是它的资源模型,它将所有内容视为资源,并通过统一的API进行访问。资源可以是任何类型的数据,如文本、图片或者XML文档,它们都有路径和属性,类似于文件系统中的文件。Sling的这种设计...
Apache Sling是一款基于Java Content Repository (JCR) 的开源服务器,常用于构建内容管理系统和Web应用程序。 在Sling-Query项目中,开发者可以像使用jQuery那样操作Sling资源,通过链式调用来过滤、选择、修改或...