`

Alfresco 2.0 解读

    博客分类:
  • Java
阅读更多

Alfresco 2.0 解读

一、介绍:
http://www.alfresco.com
Alfresco is the Open Source Alternative for Enterprise Content Management (ECM), providing Document Management, Collaboration, Records Management, Knowledge Management, Web Content Management and Imaging.

采用的技术
Java
Spring  Aspect-Oriented Framework
ACEGI – Aspect-Oriented Security Framework
MyFaces  JSF Implementation
Hibernate  ORM Persistence
Lucene  Text Search Engine
JLAN
POI File Format Conversion
PDFBox – PDF Conversion
OpenOffice
jBPM
Rhino JavaScript engine
支持的接口
CIFS/SMB Microsoft File Share Protocol
JSR-168 Portlet Specification
JSR-127 Java Server Faces
FTP
WebDAV
Web Services
REST
更多的技术规范详见: http://www.alfresco.com/products/ecm/specifications/

二、配置解读
1、从web.xml开始入手
其它的略过,在 web.xml 中可以看到加载了如下 Spring 配置文件
<context-param></context-param>

xml 代码

 

  1. <context-param>  
  2.    <param-name>contextConfigLocation</param-name>  
  3.    <param-value>  
  4.       classpath:alfresco/web-client-application-context.xml   
  5.       classpath:web-services-application-context.xml   
  6.       classpath:alfresco/web-api-application-context.xml   
  7.       classpath:alfresco/application-context.xml    
  8.    </param-value>  
  9.    <description>Spring config file locations</description>  
  10. </context-param>  

web client 层
alfresco/web-client-application-context.xml
打开它可以看到它引入了所有的 alfresco/web-client*.xml & alfresco/extension/web-client*.xml & jar:*!/META-INF/web-client*.xml

web api 层
alfresco/web-api-application-context.xml
打开它可以看到它引入了 alfresco/web-api-config.xml & alfresco/extension/web-api-config-custom.xml

web service 层
web-services-application-context.xml
刚开始找这个文件时,居然没有找到,怪事!not exist???why?
于是后来才发现这个文件是在 remote-api.jar 包里,晕,不是很好的做法啊。

...................... 


在这里编辑太慢了而且比较乱,索性还是自己做成PDF上传了

分享到:
评论
4 楼 YuLimin 2007-08-28  
alfresco application on WebLogic的BUG解决的方法很简单

1、把相关的JMX删除或者进行某种方式的变通;
2、修改模板文件的引入方式后可以了。

WebLogic也真的是弄巧成拙啊。把Web的其它相关的文件打成jar,导致访问出错,呵呵,比较有意思,而且发现在Windows与Solaris下都不一样。

先点着位,有事。。。完整的待续。

不好意思,现在才整理好了,放上来,内容如下:
WebLogic生成的_wl_cls_gen.jar只是把Web应用程序里的classes目录下的内容都进去成一个jar包,为了读取二进制文件更加快速?
你可以在%DOMAIN_HOME%/servers/AdminServer/tmp/_WL_user 目录下相应的Web应用程序里的/war/WEB-INF/lib/目录中找到它,打开它来看就知道里面的内容了。

正由于这样,而导致了ClassLoader.gtResource("...")之类的取不到值了。
ClassLoader loader = Thread.currentThread().getContextClassLoader(); 
loader.getResource("xxx").toURI().getPath(); // 这里的取值就为null了。 

我跟踪到SUN的JDK里,里面的RMI实现是:
FileInputStream fin = new FileInputStream(fname); 

于是产生了异常:
java.io.FileNotFoundException: class path resource [alfresco/templates/api] cannot be resolved to absolute file path because it does not reside in the file system: zip:C:/BEA92/user_projects/domains/sdpf_cms_test/./servers/AdminServer/tmp/_WL_user/_appsdir_alfresco2.0.0_war/kvnyug/war/WEB-INF/lib/_wl_cls_gen.jar!/alfresco/templates/api/

这样造成是从_wl_cls_gen.jar!/alfresco/templates/api/里面去找文件,哪里找得到?
但是,如果是目录部署的话,就可以找到。

所以你可以去修改JDK里的RMI实现去。。。,哈哈哈,不可能的吧:)为了这个。
private static Properties propertiesFromFile(String fname) throws IOException
{
	FileInputStream fin = new FileInputStream(fname);
	Properties p = new Properties();
	p.load(fin);
	fin.close();
	return p;
}

这是JDK里面的实现com.sun.jmx.remote.security.MBeanServerFileAccessController.java的实现

权宜之计有两步骤要做:
一、模板文件加载的问题
 1、org.alfresco.web.api.TemplateClassPathSet.java 中 afterPropertiesSet() 方法注释掉所有的代码
 2、org.alfresco.web.api.APITemplateProcessor.java 中 initConfig() 方法,在
 config.setCacheStorage(new MruCacheStorage(20, 100));

 下增加如下代码
 config.setClassForTemplateLoading(this.getClass(),"../../../../alfresco/templates");

二、JMX的问题
 1、org.alfresco.util.RuntimeSystemPropertiesSetter.java 中 postProcessBeanFactory()
  修改它的实现,先把文件InputStream出来,存到一个临时的物理文件,再将这个路径传回给它。
  要不然,默认的JMX实现是根据绝对路径来取的,就产生了错误。
 2、直接在配置文件里去掉JMX相关的服务,就没有问题了。

重新编译打包部署即可。
3 楼 cy2047 2007-08-28  
你好  能不能请教一些问题? 我刚学用Alfresco   很多不了解
2 楼 YuLimin 2007-07-20  
I have found a bug when I deployed alfresco application on WebLogic, maybe this is a alfresco's BUG about installation on WebLogic.

so, we should run < jar xvf alfresco.war > to alfresco directory first, then deploy it. Don't deploy alfresco.war directly.

After that, start WebLogic server, will be work smoothly.

FYI.

Resource:
http://wiki.alfresco.com/wiki/Install_BEA_Weblogic
1 楼 liferay 2007-05-15  
不错,谢谢!

相关推荐

    activiti-explorer-eclipse项目

    2. 强大的图形化设计工具:通过Alfresco Activiti Modeler等工具,可以方便地创建和编辑流程图。 3. 分布式运行时:Activiti可以在分布式环境中运行,支持多实例和高可用性。 4. 易于集成:提供REST API和Java API,...

    Activiti 5.14 用户手册

    1. ** Activiti 简介 **:Activiti 是由 Alfresco 公司开发的一个基于 BPMN 2.0 规范的轻量级工作流引擎。它不仅支持复杂的业务流程定义,还提供了丰富的API和工具,便于集成到各种企业应用中。 2. ** BPMN 2.0 ...

    2018Acticiti6最新教程

    以下是对该教程涉及的主要知识点进行的详细解读。 ### 一、Activiti 6简介 Activiti是由Alfresco Software Inc.发起的一个开源项目,它提供了一套灵活的工作流解决方案。Activiti 6是Activiti在2018年发布的一个...

    Activiti_5.8_用户指南(中文版)

    Activiti 由Alfresco公司开发,基于Java技术栈,兼容Business Process Model and Notation (BPMN) 2.0标准,提供了一种直观的方式来设计、执行和管理业务流程。它的核心功能包括流程定义、流程实例的启动与跟踪、...

    026-SVM用于分类时的参数优化,粒子群优化算法,用于优化核函数的c,g两个参数(SVM PSO) Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    铅酸电池失效仿真comsol

    铅酸电池失效仿真comsol

    小程序项目-基于微信小程序的童心党史小程序(包括源码,数据库,教程).zip

    Java小程序项目源码,该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:小程序 后端框架:SSM/SpringBoot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven

    小程序项目-基于微信小程序的新生报到系统(包括源码,数据库,教程).zip

    Java小程序项目源码,该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:小程序 后端框架:SSM/SpringBoot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven

    springboot124中药实验管理系统设计与实现.zip

    springboot124中药实验管理系统设计与实现,含有完整的源码和报告文档

    解除劳动合同协议书.doc

    解除劳动合同协议书

    快速过滤图像融合Matlab代码.rar

    快速过滤图像融合Matlab代码.rar

    强调图像中内核形状(例如直线)的过滤器Matlab代码.rar

    强调图像中内核形状(例如直线)的过滤器Matlab代码.rar

    linux离线安装redis

    在内网linux服务器安装redis 在Linux环境中离线安装Redis是常见的需求,尤其是在内网服务器上,由于无法直接访问公网,我们需要提前下载Redis的源码包并手动安装。下面将详细解释如何进行这一过程。

    019考虑阶梯式碳交易机制与电制氢的综合能源系统热电优化 不能运行.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    微信小程序StartKitw_xapp-startkit.zip

    微信小程序StartKitw_xapp-startkit

    座位选择微信小程序版本.zip

    座位选择微信小程序版本

    机械臂代码_Mechanical_arm.zip

    机械臂代码_Mechanical_arm

    图像分割测试视频river-light.mp4

    图像分割测试视频river-light.mp4

    前端分析-2023071100789

    前端分析-2023071100789

    基于labview的生产者消费者循环源码.zip

    labview源码参考示例,可供参考学习使用

Global site tag (gtag.js) - Google Analytics