Archive for the ‘GWT’ Category
GWTのシリアライズエラー

デフォルトコンストラクター(引数なしのコンストラクター)が無い時に、以下のようなエラーが出ます。
Type ‘自作のクラス名’ was not serializable and has no concrete serializable subtypes
GWT 1.6でJNDIを使う方法

Google Plugin for Eclipseにも同包されている、Google Web Toolkitの最新バージョンである1.6からは、サーブレットコンテナがTomcatからJettyに変更されています。
これは、Google App EngineのサーブレットコンテナにJettyが採用されている事と関係があると思いますが、古いGWTのローカル環境では動作していたJNDIが動作しなくなったという問題があります。
これは、業務で利用されている方は非常にお困りでないかと思います。私は困りました。。。
以下、Google Plugin for Eclipseで作成したGWT プロジェクトでJNDIを使えるようにする方法。
- プロジェクトディレクトリ直下に[lib]ディレクトリを作成し、jetty-naming-6.1.11.jarとjetty-plus-6.1.11.jarを、コピーしクラスパスを通す。
- jetty-web.xmlを[war/WEB-INF]にコピーする。(jetty-web.xmlの書き方は以下の通り)
- プロジェクト名を右クリック[Run As]-[Web Application]で一度実行し、Run設定ファイルを自動生成させる。(この設定を行いたいプロジェクトを過去に1回でも実行していればOK)
- プロジェクト名を右クリック[Run As]-[Run Configurations...]で表示されるダイアログの[Arguments]タブの”VM arguments”に[-Djava.naming.factory.initial=org.mortbay.naming.InitialContextFactory]を記入し、[Apply]ボタンをクリック
- 以後、この設定で実行するとJNDIを正しく設定ファイルからロードします。
・MySQL用の設定です。他のDBの設定方法はこちらから。
< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<configure class="org.mortbay.jetty.webapp.WebAppContext">
<new id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<arg>java:comp/env/jdbc/screenshot</arg>
<arg>
<new class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
<set name="Url">jdbc:mysql://testdb.soba-project.com:3306/testservice</set>
<set name="User">test</set>
<set name="Password">test</set>
</new>
</arg>
</new>
</configure>
本番はTomcatで動作させたい人は、[war]ディレクトリに[META-INF]ディレクトリを作成して、従来のJNDI設定を書いたcontext.xmlを設置しておくと便利かも。
====================以下、検索用====================
続きを読む »
[GWT] GWTの勉強会を京都で開催したいと思います。
国内でGoogle Wet Toolkitがどの程度、利用されているのか分かりませんが結構深い所まで触ろうとすると急に日本語で情報が出てこなくなります。私は比較的、英語のアレルギーがないので平気なのですが、自分自身の学習モチベーション維持のために勉強会を発足したいと思います。
最終的には、Hackthonぐらいできるといいなぁと考えていますが、現時点では以下のように想定しています。
時間は「金曜日の夕方~」か「土曜日の午後一~」ぐらいから2時間ぐらい
場所は「京都リサーチパーク(京都から1駅)」か「四条烏丸近辺の貸会議室」のどちらか
参加者にはプレゼン資料とソースコード一式をプレゼント。
興味のある方は、メールを下さい →
まだ議題を練れていませんが、以下のような内容の説明を提供していけたらと思います。
・CSSによるデザインの変更
・非同期通信(Ajax)コードの書き方とデバッグ方法
・事前に登録したタグ(文字列)から入力をサジェストするフォームの作り方
・郵便番号から住所を自動検索するフォームページの作り方
・MixiやはてなのIDが利用できる、ページ遷移を伴わないログインボックスの作り方
・JavaScript Native Interface (JSNI)を利用したJavaScriptのインプリメント
・自作Widgetの作り方
・既存のJ2EEサービスとの連動のさせ方

