top / index / prev / next / target / source

2006-04-05 diary: eclipse.exe -cleanオプションのデフォルト利用化の薦め , まだまだ花粉症

いがぴょん画像(小) 日記形式でつづる いがぴょんコラム ウェブページです。

old-v2

eclipse.exe -cleanオプションのデフォルト利用化の薦め , まだまだ花粉症

関東では花粉のピークは過ぎた、とNHKのニュースにて報道されていましたが、昨日も私は 花粉症でした。

eclipse.exe -cleanオプションのデフォルト利用化の薦め

とあるプロジェクトにて Eclipseのキャッシュを起因とした プラグイン導入に関するトラブルに遭遇しました。これは eclipse.exe -clean としてキャッシュ破棄によるEclipse起動をおこなえば すぐに解決できる問題でした。…しかし、-clean忘れによるトラブルは意外にも発生頻度が高いのだ、ということが改めてわかりました。

ある程度のEclipse熟練者であっても、plugin入れかえ時などの-cleanによるcacheクリアを忘れがちなのではないかと思います。…熟練者の場合にはトラブル遭遇時に、すぐに自己解決できる場合が多いので顕在化しないのでしょうけれどもね…。ある程度 ソフトウェア開発に関わる人間の数が増えてくると、メンバーが増加し、プラグイン入換回数も増加し、そして -clean忘れによるトラブルの解決に所用する時間の総量は 目に余る規模になるのでは、と考えました。

そこで、私としてお勧めしたいのが、Eclipseを起動する際の eclipse.exe -clean オプションについて、これを普段から付けておいて起動することです。現状の最新安定バージョンである Eclipseを -cleanオプションを付けて利用しているのですが、キャッシュを毎回破棄していることによる速度低下は (私が普段関わるようなマシン環境+プラグイン数においては)さほど気にする必要は無いものであると考えます。むしろ キャッシュを毎回破棄しないことによるデメリットの方が はるかに大きいと考えています。-cleanをデフォルトで利用しさえしていれば、そんなトラブルを知る必要すら無いのです。

ちなみに、blanco FrameworkとしてのEclipseディストリビューションに該当する BlancoEclipseDistributionでは、インストーラーが作成するアイコンのうちデフォルトで利用される起動用アイコンは -cleanを設定しています。もちろん 「Eclipse (cache)」のような -cleanを含まない起動用アイコンもセットアップ時に生成するようにはしています。ポイントとしては デフォルトで何気なく利用するアイコンを -clean でキャッシュ破棄するものを提供しているという点です。デフォルトを何のオプションで提供するのかについては、ディストリビューションとしての重要な判断要素であろうと考えています。

欲張って希望を述べさせていただくと、世の中に存在する他の Eclipseディストリビューションも、-cleanをデフォルトとして扱ってくれるようになれば世のEclipseキャッシュ破棄忘れのトラブルが減ってくれるものと期待します。まあ これは欲張りすぎでしょうけれどもね…。

まだまだ花粉症

昨日も花粉症でした。よれよれです。

blancoDb Enterprise Edition 1.6.x系のリリースに向けて

blancoDb Enterprise Edition (Java版) 1.6.x系の出荷候補版 (1.6.0 RC1)について、利用者の方から 単一表の自動生成まわりで従来発見されていたバグが修正されずにそのまま残ってしまっているという指摘を頂きました。ご報告をお寄せいただき、どうもありがとうございます。

この不具合の概要ですが、blancoDbが自動生成する単一表アクセサについて、blancoDb上で InputStreamまたは Readerにマッピングされる型 (すなわちBLOB, CLOB系の型) が 全件検索系の行バリューオブジェクトに含まれてしまう、という不具合です。JDBCの仕様に、複数の列をハンドリングしている際に InputStreamまたはReaderを扱おうとすると、それらストリームが次の列を処理した途端破棄されるという不思議な仕様があります。(JDBCの特徴的な仕様と、それを回避するための自動生成指針のようなものです)この仕様を回避するためには、そもそもひとつの Iteratorにおいて 複数の列と InputStream, Readerを混在させないという運用上のルール付が必要になります。blancoDbが全くの自動生成をおこなう単一表アクセサにおいて、誤って 複数の列と InputStream, Readerとを混在させてしまっている、というのが不具合の内容となります。

1.6.x系の正式リリースのためには、この不具合は解消されていることが最低条件であると考えています。近日中に修正後の出荷候補版 (RC2)をリリースしたく考えています。


この日記について