2009-01-01から1年間の記事一覧

springでAOP

処理の中でアノテーションの値を取得したい場合は Class clazz = hoge.class; Constructor cs = clazz.getConstructors(); //コンストラクタ Field fs = clazz.getDeclaredFields(); //フィールド Method ms = clazz.getDeclaredMethods(); //メソッド Annot…

mod_proxy_ajpを使っていて、Too many open filesが出る件。

apache2.2.9 + tomcat6.0.18で裏側にやや重い処理がある。 んで、突然Too many open filesが出たので見てみる。 ulimit -aで見ると open files (-n) 16384 になっていて、16384までFD数は確保されている。 tomcatプロセスIDを確認して /proc/[PID]/fd/ | wc …

hadoopのアップグレード

hadoop DFSはバージョンごとにデータファイルの互換性がない。 なので、HDFS側にマイグレーションコマンドが用意されていて、これを実行すると旧バージョンのデータからバージョンアップしたhadoopにマイグレーション(アップグレード)が行える。 http://ha…

jmapを使ったメモリダンプ解析(ヒープダンプ)

javaプロセスのメモリダンプを取れるツールがJ2SE1.5から導入されている。 しかし、普通にJavaプロセスIDを指定しても以下のようなエラーが出てしまう。 # jmap 14022 Attaching to process ID 14022, please wait... sun.jvm.hotspot.debugger.NoSuchSymbol…

OpenPGPとThunderbirdでメールを暗号化

GnuPG(RFC4880で策定されているOpenPGPのフリー実装) http://www.gnupg.org/ Thunderbird用のEnigmail (OpenPGPプラグイン) https://addons.mozilla.org/ja/thunderbird/addon/71 ・上記二つをインストールした後にThunderBirdを再起動。 ・「OpenPGP」-「…

Subversionが壊れた日

朝出勤したら開発環境のデイリービルドに失敗していたので、何事かと調べていたらどうやらSubversionがうまく動いていない。apacheのエラーログ Error string not specified yet: Berkeley DB error for filesystem '/svn/repos/db' while closing environme…

【回避方法】ドメインをまたいだクロスムービースクリプト(クロスス

先日書いた ドメインをまたいだクロスムービースクリプト(クロススクリプト) の回避方法があったのでメモ。外部ドメインのswfを一旦バイナリで読み込み、そのバイトデータを元に再度Loaderで読み込む。 function loadSwf() { var request:URLRequest = new…

ドメインをまたいだクロスムービースクリプト(クロススクリプト)

[ActionScript3.0] actionscriptで別ドメインに属するxmlをロードしてデータを参照したい場合は、xmlが配置してあるドメインのルートパスにcrossdomain.xmlを配置しないとアクセスできないというのは有名。 ここらについてはググればいくらでも出てくるので…

linux(ubuntu)とwindows2000でjava起動時の最大ヒープ(-Xmx)のデフォルト設定が違う件

tomcatの設定を調べていて気づいたが、どうやらLinux用とwindows用ではjavaの起動時の最大ヒープ設定(-Xmx)が違うみたいだ。ubuntu 8.04 hogehoge@hogehoge-desktop:/tmp/apache-tomcat-6.0.18/bin$ java -version java version "1.6.0_07" Java(TM) SE Runt…

【負荷テスト】JMeterの設定の覚書

スレッド数 :50 Ramp-Up期間:10 ループ回数:3 この場合は10秒間で50スレッドを生成する。 つまり1秒間に5スレッドを生成する。 このループ回数の意味は上記の場合、「5スレッドを生成する」を1秒間に3回ループするという意味らしい。 つまり、1秒間に15ス…