锁定老帖子 主题:Alfresco 2.0 解读
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-14
Alfresco 2.0 解读 一、介绍: 采用的技术 二、配置解读 xml 代码
web client 层 web api 层 web service 层 ...................... 在这里编辑太慢了而且比较乱,索性还是自己做成PDF上传了 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间: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 |
|
返回顶楼 | |
发表时间: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相关的服务,就没有问题了。 重新编译打包部署即可。 |
|
返回顶楼 | |
浏览 13913 次