久しぶりのJavaSwing

そして、久しぶりの趣味全開のプログラム。

このSwingツールを触るのは一年ぶりくらいか。
昨日ふと思い出したら、改造したくなったのだが、そもそも過去3年くらいに渡っていじっているものだ。
その間に、いくつかリリースはされている。

プラグイン的なクラスを追加することで機能が充実していく…はずだが、まあそう上手くはいかないわな。
それにしても、未だに「なんでこんな変な作りしてんだ!」という点が山ほどあるとは、奥が深い。

というわけで、クラスの取捨選択でさくっとプロジェクトを整理したのち、
今まで放置していた、アプリの多重起動チェックを実装することにした。

Javaアプリケーションで多重起動チェックするメジャーな方法は、

・ServerSocketでポートのロック
・ファイルのロック

この2つがメジャーらしい。
ServerSocket派から見ると、ファイルロックは、プログラムがクラッシュした際に、ロックされ続ける危険があるからダメなんだそうだ。
(最悪、システム再起動で直るけどね)

だが、ServerSocketにしても、1つのポートに割り当てられるアプリは1つというのを利用しているわけで、別のアプリがそのポートを使用していたら、そもそも1つも起動できないことになる。
ロックするポートを決めるのは困難だな。

さて、どうするかな…。
[PR]
by miries | 2013-09-26 02:07 | ゲームを作る


<< JScrollPaneのスクロール TGSに参加するぜ。 >>