在开发模式下使用Glassfish + GWT

时间:2011-04-25 01:21:44

标签: gwt glassfish ejb

Okey所以这就是我目前的工作方式:

  1. 我正在使用EJB(3.x)作为我的服务层
  2. 我使用GWT作为我的视觉层
  3. 使用具有拒绝注入(@EJB注释)的EJB的通信GWT
  4. 所以问题在于,我很慢,因为每当我对我的GWT层进行一些小改动时,我必须编译,这需要一些时间。 我想知道是否有一种方法可以在生产模式下使用Glassfish + GWT + EJB

2 个答案:

答案 0 :(得分:1)

要使它工作,你应该做以下事情: 1.仅在Glassfish上部署ejb(用于开发模式)。当您希望Web部件处于开发模式时,构建完整的耳朵是没有意义的。 2.使用远程接口(我们使用的服务定位器检测它是否应该在EJB的本地或远程接口上工作)。 3.将gf-client.jar添加到GWT开发模式的引导条目(从eclipse启动时)。 4.将ejb客户端jar添加到GWT开发模式的类路径条目。

当您在GWT站点上更改某些内容时,这样的设置将节省您耗时的重新编译(您只需点击重新加载按钮并使用新代码)。当您在ejb端更改某些内容时,您仍然必须关闭开发模式,重新部署ejb并再次启动开发模式,以使其正常工作。

这不是非常简单的设置,但它的工作原理。我们正在使用maven配置文件来生成ejb,仅用于开发和完全生产。

还有一些更简单的noserver模式(它将连接到部署在glassfish而不是jetty上的web部分),但效率较低,因为GWT RPC端的每次更改都需要耗时的重新编译和重新部署战争(或全耳)。

答案 1 :(得分:0)

在这种情况下,您不需要部署服务层。 您可以使用托管模式查看GWT端的更改。

http://code.google.com/eclipse/

使用谷歌插件你在eclipse中运行,只看到更改页面刷新。 Jetty是eclipse中用于开发基于GWT的Web应用程序的服务器。