0

DBアクセス用にJPA2でGAEプロジェクトを作成しました。500 文字を超える文字列をいくつか保存するので、com.google.appengine.api.datastore.Text を使用します。

値を文字列として定義するインターフェイス Script.java と、内部に Text メンバーを持ち、取得と設定のために変換する ScriptImpl.java を取得しました。

プロジェクトの要件の 1 つは、データベースが背後にある単純な tomcat で実行できることです。したがって、Google 環境の内外で実行できる必要があります。

通常のTomcat環境に切り替えることができるように、アプリケーションを実装する現実的な方法はありますか(たとえば、別のBeanを使用するSpring構成を介して...)。

両方の環境でこれを機能させるには、他に何に注意を払う必要がありますか?また、GAE に接続されている部分をどのように処理すればよいですか?

更新:これまでのところ、次の重大な問題が見つかりました: Google ユーザー サービスとログイン プロセス、ドメイン モデルのテキスト クラス、Wicket-GAE-Initializer (Wicket を使用しているため)

4

2 に答える 2

2

GAE には独自の独自の API があります。この API を使用してアプリケーションを作成した場合、GAE から離れたい場合は、次の 2 つのオプションがあります。

  1. 明らかに、コードを書き直してください。
  2. GAE API を実装するが、他のプラットフォームで実行される API ラッパーを使用します。このようなラッパーの例は、AppScaleCapeDwarfです。AppScale は古く、おそらくより成熟しており、Java と Python の両方をサポートしています。また、より多くのプラットフォーム (プライベート サーバー + クラウド) をサポートします。OTOH、CapeDwarf は JBossAS7 を対象としているため、そのサーバー (または OpenShift クラウド) を使用する場合に適していると思われます。また、RedHat などの成熟したオープンソース リーダーからのサポートも期待できると思います。
于 2013-07-05T10:13:16.653 に答える
1

理論的には、GAE 機能をラップして、それをアプリ エンジンまたは「通常の」環境に委譲することは可能かもしれませんが、おそらく多大な労力が必要です。

おそらく、別のアプローチの方が簡単でしょう。ケープドワーフをご存知ですか?

JBossケープドワーフ

Java App Engine アプリケーションを独自のプライベート JBoss Application Server (AS7) クラスターまたは RedHat の OpenShift クラウドにデプロイして実行します。

JBoss CapeDwarf は Google App Engine API の実装であり、アプリケーションを変更せずに JBoss Application Server にデプロイできます。舞台裏では、CapeDwarf は Infinispan、JGroups、PicketLink、HornetQ などの既存の JBoss API を使用します。

「データベースを備えた単純なTomcat」が本当に必要な場合は、より多くの情報または制約を知っておくと役立ちます。

于 2013-07-04T19:42:42.207 に答える