是否可以从Grails应用程序中引用Java应用程序?

是否可以从Grails应用程序中引用Java应用程序?

问题描述:

我们有一个Java/Spring/Hibernate代码库,它是我们漂亮的大平台的核心。我们也有不少独立的Java webapps(Struts或Spring MVC),它们一起引用了核心系统,从中提取了applicationContext和服务。是否可以从Grails应用程序中引用Java应用程序?

我们需要构建另一个webapp,它也引用了相同的核心系统,所以我希望能够在Grails中做到这一点。从我发现的结果看来,您可以轻松地将传统Java代码打包起来,将其放在Grails项目lib目录中,并以此方式引用它。

http://www.itexto.net/devkico/?p=333

不幸的是这不会为我工作,我需要从我的Grails应用程序引用运行的核心系统和它的服务,你会从其他的Java应用程序中引用的Java应用程序。有没有办法做到这一点,或只是不可能与Grails?

的任何信息,将真正帮助...

感谢,

贾斯汀。

+0

您现有的Web应用程序如何与基于Spring/Hibernate的核心系统集成? – proflux 2010-10-28 14:18:33

+0

在Eclipse中,在构建路径上有一个选项可以包含其他项目。它从那里引用了核心系统项目。 – Justin 2010-10-28 14:41:08

请参阅有关Grails+Spring integration的文档。当你在Grails中使用Spring时,下一步应该已经是标准的Spring。

由于您还没有详细说明,您现有的Struts和Spring MVC应用程序“如何拉入applicationContext和服务”我无法对细节发表评论。但是,它应该与现有应用程序执行此操作的方式类似。

编辑:检查还回答了关于如何组织你的Spring bean的this question

+0

我了解Grails如何引用其他Spring AppContext,然后将其加载到Grails项目中,但我不想在Grails项目中创建和运行核心AppContext。它确实非常庞大和复杂,需要在外部运行。 – Justin 2010-10-28 14:53:18

+0

正如我在我的回答中所写的,如果您没有提供有关现有应用程序如何与同一应用程序上下文进行交互的详细信息,则无法帮助您解决“如何与外部应用程序上下文进行交互”的问题。根据目前的信息,我只能说“与现有的应用程序一样”。您对“Eclipse构建路径”的评论仅影响构建时间方面。同时,“它非常庞大且复杂,需要从外部运行”处理运行时方面 - 关于Eclipse的评论在运行时并不相关。 – 2010-10-28 15:36:56

我会考虑在您的Spring服务/ beans之上构建一个Service Layer。这是Martin Fowler的“企业应用程序体系结构模式”一书中记录的模式。从本质上讲,你需要一个包装你的Spring服务(你的业务逻辑)的薄层,这个层可以被Web服务调用,或者从你的web应用程序进行远程调用。这将允许您将应用程序托管在不同的进程中,但仍能够在它们之间进行通信,而无需将所有内容都插入到同一个Web容器中,并找出如何引用相同的正在运行的进程。