Java

X509Certificateはjavax.security.certとjava.security.certのどっちを使えばいいのか問題

APIリファレンスにちゃんと書いてありました。 java.security.cert.X509Certificateを使うべき。 Note: The classes in the package javax.security.cert exist for compatibility with earlier versions of the Java Secure Sockets Extension (JSSE). New …

LuceneのNumericUtilsで、数字でソートできるドキュメントを作る

Lucene2.9.1で試行。今まではNumberToolsだったけど、2.9からDeprecatedになったので、数字でソートできるフィールドを作るためにNumericUtilsを使う。experimentalって書いてあるのが気になるけど、まあこれしかないし。ポイントも今までとたいして変わらな…

multivaluedなfieldはありものだとソートできない

multivaluedなfieldはFieldCacheが返せないから、ありもののComparatorだとソートできないのか。http://search.lucidimagination.com/search/document/deb209151a5f93b9/how_to_cache_multivalued_field_using_fieldcache#7833c81490cae549もちろん、自前でF…

Lucene2.9で自前でComparatorを作って、複数フィールドの値を協調させてソートさせる

複数フィールドの値をみてソートをするという要件がでてきて、ページングとかの面倒さを考えるとソートはすべてLucene内部で完結させたいので自前でComparatorを作ろうと思ったけど、けっこう難易度が高かったのでその記録。マニングのLucene In Actionのサ…

Luceneで複数フィールドで検索してるときに、そのうちのひとつのフィールドでのスコアでソートする

ついでにほかのフィールドもソート条件に入れたいとか、わりとベタな要望だと思うけど、Lucene wikiで検索してもみつからなかったので考えてしまった。 はじめは、ソート用の結果を取得するのと、ホントのデータを取得するのとで二回サーチしないといかんか…

TerracottaでwebアプリのTIMを入れてものセッションクラスタリングをしないようにする

WEBアプリケーションでTerracottaを使うときはtim-tomcatとかのインテグレーションモジュールを入れて使うのが推奨されています。 例えば、WEBアプリでキャッシュ機構にEHCacheを使う場合のtc-config.xmlはこんな感じ。

TerracottaのTIMは必須ではないみたい

Terracottaを各種ミドルウェアやライブラリと一緒に使うときはTIMと呼ばれるインテグレーションモジュールを入れるのが推奨されているけど、あくまで推奨なのでいれなくても動かすことは可能。 ただし、dsoセクションにライブラリ内部で使われているクラスの…

Terracotta3.1.1とEHCache1.7の統合ぶりがすごい

Terracotta3.1.1がリリースされたので試してみたら、EHCacheとの統合っぷりがすごい。http://www.terracotta.org/web/display/orgsite/Get%20Started%20With%20Ehcache%20Distributed%20Cache に書いてる手順だけど、 Terracottaサーバー立ち上げ /bin/start…

Lukeにクラスパスを通す

jarにクラスパスを通すといい方のほうが正しい?LuceneのインデックスビューワーのLukeを使って検索を試してるときって、自前のAnalyzerでパースさせたくなるけど、どうやって認識させればいいのかわからなかった。こんなんだとダメで、 C:\Users\foo\Deskto…

Google Guiceのアレコレ ―Guice管理のクラスをプロバイダを使って取得順を制御する―

DIコンテナで管理しているクラスの取得順というのは、コンテナの責務ではないと思うけど、そういうのが必要な場面も稀にあります。 登録側 Providerメソッドに@Injectアノテーションをつけて、引数で必要なのを渡すだけ。 冗長だけど、まあシンプルです。 pa…

Google Guiceのアレコレ ―同一の戻り値を持ったプロバイダを定義する―

2.0からProviderの書き方がちょっとラクになったみたいだけど、そのへんはよくわからん。 登録側 package jp.co.hogehoge.provider; import java.util.Arrays; import java.util.List; import com.google.inject.AbstractModule; import com.google.inject.P…

Google Guiceのアレコレ ―同一のインタフェースを持った複数のクラスの登録と取得―

http://groups.google.com/group/google-guice/browse_thread/thread/10cbc601380b8757/f2f414d8e69c40a5?lnk=gst&q=Using+annotation+on+injector+getInstance+call#f2f414d8e69c40a5 登録 binder.bind(IService.class).annotatedWith(Names.named("A")).to…

Google Guiceのアレコレ ―ListをGuiceで管理する―

あるいは、Genericタイプの着いたクラスをコンテナで管理する方法。Google Guiceをいろいろ試してていろいろ日本語情報で見つからないのがあったので、メモしておく。 登録 TypeLiteralを使ってあげる。 List<IService> list = new ArrayList<IService>(); list.add(new ServiceA</iservice></iservice>…

EHCacheのtimeToLiveSecondsとtimeToIdleSecondsの違い

ドキュメントを読んでもよくわからんかったけど、ここの説明をみてようやく理解できた。 timeToLive is a total time an entry stays in a cache region. timeToIdle specifies how long it should stay in cache if it is not referenced. https://forums.h…

Archivaで500エラー

このへんのと同じやつ。 http://jira.codehaus.org/browse/MRM-1237新しいバージョンでfixされてるみたいだけど、新しいのをビルドするのも面倒だったので別の方向を探る。 ↓ RedBackが怒ってるみたいだけど、パスワードがブランクなのが原因な気がする。 ↓ …

Eclipseのプロジェクト固有設定の置かれる場所がよくわからなかったけどなんとかなった話

やりたかったこと フォーマッタなどのプロファイルを共有して、エクスポート、インポートなしに適用させたい やり方 プロジェクトのプロパティで、プロファイルの名前が 管理されていないプロファイル とでるけど気にしないでバリバリ変更してOK.変更内容は…

TerracottaでHA構成を試してみた

サーバーアレイまでではなくてシンプルなActive-Passive構成でHAを試してみた。 参考資料 HAにするためのサンプル構成とかないかと探してみたけど、わりと情報が散乱しているのでこのへんを総合して構成してやらないといけなかった。 http://www.terracotta.…

T2のプラグイン機構ってDIコンテナ必須?

T2がシンプルでいい感じなのでちょこちょこ触ってて、T2単体でできることを知りたいのでDIコンテナなしで使ってるんだけど、プラグインの使い方がよくわからん。 T2Filterのソースみると PluginProcessor pluginProcessor = new PluginProcessorImpl(webConf…

JDK 6 update 14のG1GCを試してみた

さすがにまだJConsoleもVisualVMも対応してない。JConsoleで繋ぐとヒープがまったくないように表示されてフシギな感じ。 結論 ちゃんとオプションが効いて、停止時間もオプションで指定した通りになっているみたい。 けど、TomcatでG1GCを有効にして実行した…

guice-servletをarchivaのローカルリポジトリに追加する

guice-servletをarchivaのローカルリポジトリに追加したときの手順の覚え書き。 Upload Artifact 適当なユーザーでログインして、左のメニューのManageグループから Upload Artifact を選択。 POM情報入力とjarのアップロード 入力はこんな感じで。 Group Id…

archivaの内蔵APサーバーのヒープサイズを制限する

archivaをTomcatとかにデプロイするんじゃなくて、内蔵のJettyで動かしてるときの話。archiva関係なく、Jettyの話ですね。 $ARCHIVA_HOME/conf/wrapper.conf の、 # Initial Java Heap Size (in MB) wrapper.java.initmemory=3 # Maximum Java Heap Size (in…

本番で使いそうなサーバーでCubbyとT2 Frameworkを試してみた

ECサイトの本番環境で使いそうなサーバーが評価機で手に入ったので、使う候補のフレームワークのパフォーマンスを量ってみた。気にしてるのは主にスループット。レイテンシは揺らぎが大きそうだから。 環境 Xeon 2.33GHz Quad Core 6144 KB x 2 4G MEM Apach…

Apache archivaでadminのパスワードを忘れた

archivaでadminのパスワードを忘れちゃったので少し調べてみた。 内部で使ってるのはJava DB(Apache Derby) ユーザー情報のDBは ARCHIVA_HOME/data/databases/users レポジトリ情報は ARCHIVA_HOME/data/databases/archiva ユーザー情報が入ってるのはSAスキ…

Terracottaサーバーを立ち上げたままログアウト

Terracotta関係ないな。nohupつけてバックグラウンドで起動させればOK. http://forums.terracotta.org/forums/posts/list/1059.pageこんな感じか。 nohup /opt/terracotta-3.0.0/bin/start-tc-server.sh > terracotta.out 2>&1 & 本当にこれがいいのかはよく…

Terracottaを利用してTomcatのセッションとかもろもろ共有

基本的に http://www.terracotta.org/web/display/orgsite/Tomcat+Integration の通りにやればいいけど、少しだけ違うところがあったので記録しておく。 構成 試した構成はこんな感じ。 ┌──────┐ │ tc-worker2 │ mod_proxy_balancerで重み1同士の単純な振り…

Terracottaを試してみる

Terracottaの検証を始めたのでメモしていきます。 仮想サーバーでTerracottaサーバーが起動しない 初歩のクイックスタートで躓いた。起動しようと思ったらこんなエラーが。 2009-05-22 19:04:58,492 [main] INFO com.terracottatech.dso - Statistics store:…

Sun SPOT キャラバン 2008 in 東京 〜 無線センサーネットワークデバイスの開発者向けセミナー 〜

Gainerでセンサーユニットをいろいろ扱ってみて面白かったので、Sun SPOTにも興味があったのですが、ちょうどこんなセミナーがあったので参加してきました。 サブタイトルは「開発者向けセミナー」とついてますが、どう見ても開発者じゃなさそうなおっちゃん…

テーブル名を修正したらトリガーも修正しよう

原題:テーブル名を修正して@Table(name = "bar")の部分を書き換えてもupdate文のfrom句が書き換わらないぎゃー!トリガーにベタに書いてたテーブル名が古いままだったのが原因でした。 SQL Server Management Studioで実行したらトリガーの問題っていうのが…

Processing 0148 BETA without Javaはインストール済みのJavaを認識しない

bugzilla.processing: Bug 878 - Error on Windows that JDK is not installed even when it is processing.exeがうごかねーじゃんとか思ってたらバグレポートでてたのね。 JDKのコピーとかやりたくないし、with Javaのほうでいいや。

サインカーブ

JavaAppletだとやっぱ成果を発表しづらいのがツライな。ローカルでみせる分にはいいんだけど。 内定者研修のネタにするのでもっとツッコむけど。グラフィックの概念のオブジェクトと、プログラムの概念のオブジェクトをどう対応させるか少し悩んだけど、普通…