2009-05-19 9 views

答えて

3

私は、GrailsアプリケーションとSpringアプリケーションで1つのアプリケーションを作成しようとしています。

私はGrails AppをSpringに挿入しようとしましたが、これは「不可能」です。 SpringアプリケーションをGrailsアプリケーションに入れておく方が簡単です。 GrailsはSpringが何であるかを知っていますが、SpringはGrailsが何であるか分かりません。

thisの記事では、Grailsでハイバネートマッピングファイルや注釈を使用する方法についての有用な情報があるので、すべてを再マップする必要はありません。また、すべてのJavaクラスを使用することができます(src/javaに入れる)。 ApplicationContext.xmlに定義されているBeanは、conf/spring/resources.xmlに置くことができます。あなたはそれらをApplicationContextに残すことができますが、いくつか問題があります。 私は仕事を終了していない(ほぼ)、それはよさそうだ。

0

既存のアプリケーションがgrailsが好きなものに正確にマップする正しいdir構造を持っていない限り、 "潜入"するのは難しいでしょう。

adminインターフェイスを元の/既存のSpringアプリケーションとは別のアプリとして試して、既存のデータベースをgrailsドメインオブジェクトにマップすることができます。既存のアプリについての情報がなくても、どうやって簡単に並行して走らせるか分かりません。しかし、間違いなく可能です。

+0

エンティティの管理者を別のアプリケーションに配置する際の1つの問題は、メインアプリで無効なL2キャッシュになることです。これを解決するには、メインアプリでキャッシュ無効化サービスを呼び出す、または分散キャッシュを共有する、管理アプリケーションでいくつかのメカニズムを作成することができます。私は、アプリケーションのgrails部分とspring部分がキャッシュと状態を共有できるように、より簡単なソリューションを望んでいました。 –

+0

L2キャッシュを無効にすると、パフォーマンスに悪影響を及ぼしますか? –

+0

L2キャッシュが不明です。それを試してみてください? – Chii

0

管理インタフェースを構築することはGrailsを学ぶ上での練習であり、既存のSpringアプリケーションと統合することは不可能ではないにしてもGrailsが困難であるという前の回答に同意します。あなたはおそらくそれを行うことができますが、頭痛はそれに値するものではありません。

Grailsは、そのORMのためにHibernateの上に構築されているので、このSpringアプリケーションで既にHibernateを使用しているなら、これをあなたの利点に利用できます。既存のHibernateモデルを使用するようにGrailsアプリケーションを設定することはあまり難しくありません。これはGrailsのドキュメントでよく説明されています。

管理コンソールを独立したGrailsアプリケーションとして構築することをお勧めしますが、実際にHibernateを使用していれば、既に持っているHibernateモデルを利用することをお勧めします。

関連する問題