2011-11-07 6 views
1

MySQLをデータソースとして使用するプロジェクトを設定していますが、いくつかの問題が発生しています。TomCatインスタンスを使用したGWTサーバーサイドコードのデバッグ

  1. Java側のMySQLドライバは、組み込みのGWT Jettyインスタンスと互換性がないようです。本当に?
  2. Google Docsによると、Tomcatインスタンスを設定してMySQLドライバを稼働させることはできますが、通常はdevtyモードでJettyインスタンスを使用できるようにインライン(クライアント&サーバ)をデバッグできません。

PHPまたはJavaバックエンドの間でかなりの時間を費やしていました.GWT RPCメカニズム以外の主な利点の1つは、Javaを使用するとGWTが素晴らしい開発環境を提供するということでした。

誰かがappEngine以外のデータソースを使用する必要がありますか?どうやって環境をセットアップしましたか?

答えて

4

MySQL JDBCドライバは、埋め込みJettyと「互換性があります」と思います。 AppEngineプロジェクトに参加していた可能性があります。その場合、埋め込まれたJettyサーバーはAppEngineと互換性のないクラスの使用を禁止しています(つまり、開発時にはGoogleサーバーの運用環境とできるだけ類似した動作をします)。

Tomcatで実行しているサーバーコードをデバッグするには、Eclipse WTP(またはEclipseを使用していない場合は同等)を使用して起動するか(サーバーコード)、appropriate debug argumentsなどのTomcatインスタンスを起動する必要があります。 -agentlib:jdwp=transport=dt_socket,address=8788,server=y,suspend=yとし、それを「リモートJavaアプリケーション」としてデバッグします(Eclipseでは、他のIDEでどのように名前を付けたかはわかりません)。 その後、DevModeを-noserverモード(およびデバッグモード)で起動して、サーバーとクライアントを同時にデバッグすることができます(実際には2つのデバッグセッションがあります)。

など、それはあなたが使用するサーバーに大きく依存していて、あなたが参照ドキュメントは、(その最新バージョンhereを見つけることができます)、サーバー側のコードをデバッグに対処しないことに注意してください、どのように、それが展開です、サーバー側のGWTコードは標準的なサーブレットなので、GWT固有のものはありません。サーバー側のコードをデバッグする方法。

上記のセットアップを使用して、スタンドアロンのJettyインスタンス(組み込みJettyサーバーではありません)を1年以上使用しています。

+0

私はappEngineを有効にしました。私はそれをオフにした後、私はコンパイルエラーを持っています。検索を行ったところ、ビルドパス上でGWTをアプリエンジンより先に移動する必要があることがわかりました。ありがとう... – tpow

1

GWTとTomcatを使用することはできますが、依然としてクライアント側とサーバー側の両方をデバッグできます。 Eclipseのjetty起動パラメータを見てください。

私は数年前に同様の立場にあり、開発のためにJettyをテスト用に使用することに決めました。

+0

"-noserver"フラグについてお話ししていますか?それはあなたのクライアントコードをデバッグすることができますが、私が読んだところでは、クライアント(RPCの開始時など)でブレークポイントを設定したり、サーバサイドのコードをデバッグしたりすることはできませんサーバー側のデバッグ環境をセットアップしています。私はそれを回避しようとしています。 – tpow

+1

Thomasが述べたように、Eclipseは強力なIDEであり、複数のデバッグセッションをサポートしています。 DevModeとTomcatに同時にアタッチすることができます。 – Strelok

関連する問題