1

我被要求研究 Apache Rave,以创建一个显示我们自己的小部件和一些免费社交小部件(新闻等)的门户。

我安装了 JDK 1.6 并从http://rave.apache.org/downloads.html下载了 Rave 0.1.8 二进制 zip 文件,但无法让它在 Windows 7 上运行。

我可以登录到门户网站(在 localhost:8080 上),但开放的社交小工具不会在 IE8 或 Firefox 10 中显示,并且所有用户都拒绝了 504 连接。我需要在某处配置代理吗?(我在通过代理连接到互联网的公司网络上。)。

我发现执行请求非常慢。

此外,在 IE8 中,当我尝试重命名“主”选项卡和/或更改其布局时,我收到一个与 youtube 小部件有关的 javascript 错误(Object expected ifr)。我删除了 youtube 小部件,但仍然收到错误消息。重命名和更改布局在 Firefox 中有效。

最后,我对此很陌生,并对所有架构感到困惑。我知道 tomcat 是 web 服务器,但我不知道 Rave 和 Shindig 和 Spring 是什么,也不知道 Maven,甚至是否需要 Maven(我安装它是因为 Rave 文档说,但我认为演示是自包含的) . 我很难找到任何可以清楚地解释一切的资源,Apache 文档在某些地方是矛盾的,而且似乎并不针对初学者。任何帮助表示赞赏。

4

1 回答 1

0

我将尝试在下面解决您的所有问题。需要注意的一件事是,Rave,与大多数 Apache 项目一样,都有一个由开发人员监控的用户列表。将来,您应该可以很容易地在那里找到帮助。找出文档中的漏洞/问题在哪里对团队也很有帮助,以便可以为每个人改进。

马上要注意的一件事,演示二进制文件就是这样;演示。建议您在自己的 Tomcat 容器(可以在不同的主机上)中运行战争以进行生产部署。

如果您使用非透明代理,则需要按照以下步骤配置 JVM 以使用它:

  1. 打开命令窗口
  2. 导航到您提取 Rave 的目录
  3. 执行SET CATALINA_OPTS=-Dhttp.proxyHost=yourproxy.yourdomain.tld -Dhttp.proxyPort=yourproxyport -Dhttp.nonProxyHosts="localhost|127.0.0.1|yourdomain.tld"
  4. 通过执行启动 Rave.\bin\startup.bat

通常,我在 Linux 或 OSX 上运行演示,但我只是在 Windows 中运行它,发现您可能需要删除 .\temp* 才能再次运行它。

这应该设置代理并允许 Shindig 呈现小工具。

至于慢,演示门户使用的是基于文件的 h2 版本。这是一个非常慢的数据库,只能用于评估目的。Rave 可以配置为针对大多数其他 SQL 数据库运行,例如MS SQL Server、MySQL 和 Oracle

MongoDB 模块也应该在 0.19 发布之前就位。

至于重命名问题,我无法重现它。这可能与 OpenSocial Gadgets 未能呈现有关。

架构的一个简单解释是 Rave 是一个通用的小部件引擎,它被打包为一个战争 (portal.war)。这场战争委托给各种小部件提供者来呈现小部件。该项目直接支持的两个提供程序是通过 Apache Shindig 的 OpenSocial,Rave 对其进行了轻微定制并打包为单独的战争 (rave-shindig.war),以及通过 Apache Wookie 在其原始战争 (wookie.war) 中的 W3C 小部件。这些战争中的每一个都在 Servlet 容器中运行,例如 Apache Tomcat。

Spring 是Rave 使用的主要控制反转机制。Rave 项目在 rave-shindig 项目中还包含一个 Spring/Guice 桥,以简化使用 Rave 版本覆盖 Shindig bean,以便开发人员可以在门户网站和 Shindig 之间共享通用存储库定义。您可以开发实现各种 Rave 接口的 Spring bean,并通过创建自己的应用程序上下文并将它们标记为主要来注入它们。

该项目建议下载 Maven,因为大多数 Rave 用户最终会定制它的某些方面。一些基本的定制方法可以在文档中找到;这需要改进。

希望这可以帮助。

于 2012-12-19T22:50:30.113 回答