CLI2024-09-23Linux/.forwardでメール受信時いろいろな処理をする。Editionをインストールする。Validator(42059)Struts/プルダウンの作り方(40969)Oracle/TIPS集(39723)Hibernate/楽観的ロックを実装する(39463)Hibernate/マッピング定義について/いろいろな検索方法(37639)今日の10件FrontPage(311)Eclipse/プラグイン開発のTIPS集/GooglePlugin/設定を保持するIPreferenceStoreを使う(3)文字コードについて覚書。(2)Redmine/TIPS集(2)Java/TomcatでDataSource(2)PostgreSQL/TIPS集(2)Eclipse/プラグイン開発のTIPS集/記事一覧(2)Eclipse/プラグイン開発のTIPS集/Eclipseのコンソールにメッセージを出力する(2)WebSphere/J2EEプロジェクトの開発(2)Linux/.forwardでメール受信時いろいろな処理をする。†プログレスバーを用いることで、進捗状況を表示したり、ユーザにキャンセルさせたりすることができるようになりました。このGUIの難点は処理が長いときは結局待たされてしまうということです。Eclipse2系の時は、仕事で使ってるとビルドで一時間以上Eclipseを占有されてしまうこともザラでした。Eclipse3.0からはそのような事象に対応すべく「バックグラウンドで実行」する機能があります。Eclipse3.0からはこの機能が随所で使用されていて、ビルドなどの処理中もEclipseを並行して使用することができるようになりました。プラグインを自分で開発するときも、この機能を用いれば飛躍的にアプリの使い勝手がアップしそうです。ネットではほとんど情報を見つけることができませんでした。APIがあるくらいです。†とりあえずいろいろ試してみました。基本的に、プログレスモニタとあんま変わらないかなあとあたりをつけて。かわりにorg.eclipse.core.runtime.jobs.Jobを実装するJob.schedule();を実行みたいですね。Jobクラスはその名の通りジョブのオブジェクトで、別スレッドで実行したいジョブを実行します。monitor)とほとんど同じであることがわかりました。プログレスモニタはエラーやキャンセルなどステータスの通知を例外で行っていたのに対し、バックグラウンド実行の場合は返り値IStatusで行っています。あとはこのJobクラスを実行するだけです。ダイアログを出すjob.schedule();ちょっと感動です。マルチスレッドによる注意点とかはいろいろありそうですが、*1とりあえず、まいいでしょう。1Eclipse3.0のヘルプにもある程度情報がありますね。