App Engine SDK を 1.2.6 から 1.3.0 に更新したら、ローカルテスト環境のポートが 8080 から 8888 に変わった。更新を飛ばしてわからなかったけれど、SDK 1.2.8 からかも。
なので、ローカルでのアプリケーションの確認は
http://localhost:8888/
から、開発コンソール(DataStore や TaskQueue の状態確認)は
http://localhost:8888/_ah/admin
からのアクセスになる。
ということでブラウザのブックマークを書き換え。
2009-12-28
GAE/J、ルートにサーブレット
アプリケーションのトップに index.html じゃなくて、メインのサーブレットを置きたいなと思って web.xml をいじり中。
結局、その後に war ディレクトリの index.html 自体を削除したらちゃんと思ったとおりに動いた。ルートディレクトリは、サーブレットのマッピングやウェルカムファイルのリストがどうあれ、index.html があったら優先して表示する仕組みみたい。マッピングの書き方が間違っているのかもしれないけれど…。
とりあえず、関係なかったウェルカムファイルのリストだけ、元に戻す(サブディレクトリで影響が出るかも、と)。
<servlet> <servlet-name>main</servlet-name> <servlet-class>info.kuribo.example.MainServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>main</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>と書いてみたけれど、実際にアクセスしてみると index.html が表示される…。あ、そうそうこれだと思ってさらに
<welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list>を消してみたものの、変わらず。
結局、その後に war ディレクトリの index.html 自体を削除したらちゃんと思ったとおりに動いた。ルートディレクトリは、サーブレットのマッピングやウェルカムファイルのリストがどうあれ、index.html があったら優先して表示する仕組みみたい。マッピングの書き方が間違っているのかもしれないけれど…。
とりあえず、関係なかったウェルカムファイルのリストだけ、元に戻す(サブディレクトリで影響が出るかも、と)。
ラベル:
GAE/J
2009-12-27
GAE/J、TaskQueue 使ってみた
Google App Engine for Java で今日は TaskQueue いじり。なんか 405 とか HTTP エラーが出るので見てみると、Task は基本 POST でアクセスしているよう。
GET でアクセスさせるには、
GET でアクセスさせるには、
Queue queue = QueueFactory.getDefaultQueue(); queue.add(url("/path?a=b&c=d").method("GET"));ってするようにドキュメントには書いてあるんだけれど、そのとおりにやってみると「com.google.appengine.api.labs.taskqueue.TaskOptions に method(String) なんてないぞ」と eclipse に怒られる…。ここは
Queue queue = QueueFactory.getDefaultQueue(); queue.add(TaskOptions.Builder.url("/path?a=b&c=d").method(TaskOptions.Method.GET));としとけばいいみたい。
ラベル:
GAE/J
2009-12-23
情報セキュリティスペシャリスト試験(SC)
午前Ⅰ:免除
午前Ⅱ:92.00
午後Ⅰ:84
午後Ⅱ:65
で何とか合格。午後Ⅰは運よく Java の問題が出て点を稼げたけれど、午後Ⅱはやっぱりギリギリ。あぶなかったー。
ともあれ、初めての高度試験合格なのでうれしい。今回の試験対策で読んだ本はこちら。
春はデータベーススペシャリスト試験(DB)を受ける予定。あまり得意でない分野なので、今から心配…。
午前Ⅱ:92.00
午後Ⅰ:84
午後Ⅱ:65
で何とか合格。午後Ⅰは運よく Java の問題が出て点を稼げたけれど、午後Ⅱはやっぱりギリギリ。あぶなかったー。
ともあれ、初めての高度試験合格なのでうれしい。今回の試験対策で読んだ本はこちら。
春はデータベーススペシャリスト試験(DB)を受ける予定。あまり得意でない分野なので、今から心配…。
ラベル:
情報処理技術者試験
2009-12-16
GAE/J、JDO から Low-Level API へ
こちらのプレゼンテーションを参考に、データストアの利用方法を JDO から Low-Level API へ変更。思っていたよりも感覚的にデータの保存ができて、JDO でスタックトレースとにらめっこしていたのが嘘みたい。おまけに JDO より格段に速いとなると…、最初からこちらにしておけばよかった。
分かりやすい資料を公開してくれている shin1ogawa さんに感謝。
分かりやすい資料を公開してくれている shin1ogawa さんに感謝。
ラベル:
GAE/J
2009-12-11
GAE/J、URL じゃなくて Link だった
java.lang.IllegalArgumentException: java.net.URL is not a supported property type.
とか例外が出るから何かと思ったら、URL はデータの永続化に対応してないんだ。代わりに com.google.appengine.api.datastore.Link を使って即解決。GData の com.google.gdata.data.Link とはまた違うので注意。
データストアでサポートされているデータ型は、こちらで確認。
とか例外が出るから何かと思ったら、URL はデータの永続化に対応してないんだ。代わりに com.google.appengine.api.datastore.Link を使って即解決。GData の com.google.gdata.data.Link とはまた違うので注意。
データストアでサポートされているデータ型は、こちらで確認。
ラベル:
GAE/J
2009-12-09
GAE/J、Blogger API で右往左往
Google App Engine for Java で、現在 Blogger API をいじっているところ。GData クライアントライブラリについては、以下のサイトから gdata-src.java-*.**.*.zip をゲット。
解凍した gdata-src.java-*.**.*/gdata/java/lib ディレクトリの
java.lang.NoClassDefFoundError: com/google/common/collect/Maps
というエラー…。同じく解凍フォルダ gdata-src.java-*.**.*/gdata/java/deps の方の
その後、実際に Google アカウントに関連する Blogger ブログ一覧を取得して表示してみる。ローカルでは OK。コードはほぼこれのとおり。 これをデプロイして動かしてみたところ、今度は
java.security.AccessControlException: access denied (java.net.NetPermission getCookieHandler)
という例外。これは appengine-web.xml への記載忘れが原因だったよう。 この記載で、ひとまずちゃんと動いた。間違って web.xml の方に記載して、ウンウンうなっていたというのは、内緒の話。
- gdata-blogger-*.*.jar
- gdata-blogger-meta-*.*.jar
- gdata-client-*.*.jar
- gdata-client-meta-*.*.jar
- gdata-core-*.*.jar
java.lang.NoClassDefFoundError: com/google/common/collect/Maps
というエラー…。同じく解凍フォルダ gdata-src.java-*.**.*/gdata/java/deps の方の
- google-collect-***.jar
- jsr***.jar
その後、実際に Google アカウントに関連する Blogger ブログ一覧を取得して表示してみる。ローカルでは OK。コードはほぼこれのとおり。 これをデプロイして動かしてみたところ、今度は
java.security.AccessControlException: access denied (java.net.NetPermission getCookieHandler)
という例外。これは appengine-web.xml への記載忘れが原因だったよう。 この記載で、ひとまずちゃんと動いた。間違って web.xml の方に記載して、ウンウンうなっていたというのは、内緒の話。
2009-12-06
正誤表
「Google App Engine for Java [実践]クラウドシステム構築」の正誤表を発見。コードのセミコロンつけ忘れから、シーケンス図の貼り間違いまで。本を持っている人は必見。
ってこれ、Blogger ブログだ。それだけでなんか親近感。(Navbar を隠しているのはアレだけれども…。)早速、フィードリーダーに登録。
Subscribe to:
Posts (Atom)