Java

任意のJava Web Startアプリケーションが起動されているかを調べる

以前にネタとしたAttach APIを使って、同様に調べることができる。 Attach API (アプリケーションのインスタンス数を制御するには-その4) boolean existJWSApplication(final String path) { return FinderUtil.findAll(VirtualMachine.list() , new IPredic…

実行中アプリケーションからJava Web Startアプリケーションを起動する

いろいろやり方はあると思うのだが、相手がJava Web Startアプリケーションと判明しているのであれば、RuntimeクラスでもProcessBuilderクラスでも構わないがコマンドで javaws.exe 対象アプリケーションを記述した.jnlpファイルへのURL これだけでOK。※ ち…

Eclipse Babel Project

以前にも取り上げたが、Eclipse3.3.2(Europa)との使用で問題が発生していた。 試しに「英語」と「日本語」をダウンロードして使ってみたのだが、ビューアのエラーが継続的に発生してしまう。残念だ。 ところが、昨日もう一度ダウンロードしてインストールし…

起動時URLのQueryパラメタを取得する

.NET ClickOnceだと、起動時のAppDomainからアプリケーションの情報を取得、判定できるので、 //for C# if ( AppDomain.CurrentDomain.SetupInformation != null && AppDomain.CurrentDomain.SetupInformation.ActivationArguments != null && AppDomain.Cur…

javaws.exeはディジタル署名されていない

あれ〜、そうだっけか?

Beyond, Beyond JSP

「JSPの次は?」 とか業界が言い始めてから随分と経つが、未だに私の周りで見え隠れしているJava-Web案件のビューの殆どはJSPで実装されている。(Workshop等のツールで生成されるビューも含めて) 確かにスクリプトレットはJSTLに変わり、テンプレートが多用さ…

xSocket

xSocketはNIOを複雑化しないことを目指している - InfoQ Japanよく考えたらソケットプールも以前から自前で組んでいたので、使えるならばこちらで実装するのもありかな。 サーバならクライアントに比べて導入しやすいし。

より動的になるJava SE7

スペックリードが語るJava SEプラットフォームの現在と未来 - JavaOne 2008 Java SE 7では動的言語を強力にサポート Java SE 7ではJVM上で動作する動的言語のためにバイトコードレベルでのサポートが追加される予定となっている。具体的にはanonymousなクラ…

ソケット偉大なり

.NET(Win32)ならWM_COPYDATAを使うことで比較的簡単にアプリケーション間通信が可能だったが、Javaではさすがに他の仮想マシン下のウインドウに同メッセージを放り込む事もできないので、同様のことをソケットの実装で組んだ。実際にソケットで組んでみると…

ノンブロッキングモードとObjectInputStream

this.selector = Selector.open(); ServerSocketChannel serverChannel = ServerSocketChannel.open(); serverChannel.socket().setReuseAddress(true); serverChannel.socket().bind(new InetSocketAddress(port)); serverChannel.configureBlocking(false)…

ClickOnce vs Java Web Start総括

互いにGUIアプリケーションの配布方法としてほぼ確立している技術であるが、両方使っている側から評価させて貰うと、WindowsというO/Sをクライアント側に使う限りにおいて(企業クライアントの8割はWindowsだろう)、現時点ではClickOnceの方が使い勝手が良い…

java.util.loggerはJava Web Startでは使えない

ログ出力時のフォーマッタを独自のフォーマッタクラス"com.hoge.log.formatter.HogeDefaultFormatter"で実装し、logging.propertiesを以下のように変更し、クラスパス上(config/)に配置する。 handlers=java.util.logging.FileHandler,java.util.logging.Con…

現在のJavaの問題

は、なんといっても最新のJava6をきちんと解説する書籍や情報が少ないことではないだろうか。Javaは過去に二度のブーム(黎明期(インターネット期)とサーバサイド期)を経験し、その間に大量の書籍が発行され、ネット上にも情報が公開されたが、Java2SDKバージ…

Java Web Startとリソースとクラスローダ(番外編)

Webサーバ上に配置するjarにアーカイブするイメージリソースは、拡張子も含めて全て小文字にすることで解決したと思われたこの問題だが、また同様にイメージリソースが読めないという問題が発生した。 というのも、拡張子も含めて全て小文字にしたはずなのだ…

Java Web Startとリソースとクラスローダ(その2)

AppClassLoaderはローカル環境で使われるので、リソースパスにFileクラスを使って検索している。一方でJNLPClassLoaderはリソースパスにURLクラスを使うので拡張子もパスの一部。だからケースセンシティブなのか? 実際にアプリケーションを起動して、AppClas…

Java Web Startとリソースとクラスローダ

Java Web Startにおいて、アプリケーション中で使用するリソース(イメージ、ファイル、etc)は最寄のクラスローダを用いて、jarファイル中のリソースを取得して使うことはFAQなのだが、同アプリケーションをデバッグしている時に不可思議な振る舞いが発生した…

Java web startアプリケーションをデバッグする(Java6)

こちらを参考にさせて頂いた。 SMG >> Java トラブルシューティング >> コラム: Java Web Startのリモートデバッグjava web start自体はコードベースからアプリケーションを起動するjnlpランチャでしかないため、java web start経由で起動されたアプリケーシ…

有りそうで、無いもの

Eclipseで現在のプロジェクトのラィブラリィ依存状況を見て、Java Web Startのデプロイファイル(.jnlp)を自動的に生成してくれるツール又はプラグイン。(Visual StudioにおけるClickOnceの構成ページ、ウィザードと同等となる) RCP関係では似たようなものを…

SwingSet3

知らない間に出ていた。結構変更されているが、何かこう「まじめ」になったな。 SwingSet3(Java WebStart JNLP) 最新のJava SE 6 Update N Early AccessのSDKをインストールしても入っているらしい。

オリジン

一貫性は重要だ。 JDBCのAPIは行、列等の序数のオリジンが0ではなく1なので、未だにコーディング時によく間違ってしまう。 恐らく理由があってことなのだろうが、その理由を知りたいものだ。追記: bleis-tiftさんからコメントを頂いているが、API策定当時SQL…

導入

カヤック本に影響されて、Ruby(まずはJRubyを使うことになろうが)を少しずつJavaのシステムに導入していこうと企んでいるのだが、一体どこから手をつけてよいものやら。・DIコンテナの式評価エンジンとして ・設定ファイル(DIコンテナの)記述用として ・ユニ…

道具は現場が選ぶべき

スーツなSpringとギークなSeasar2 - ひがやすを blogその選択に参加していないのであればStruts、Spring、Seasar2どれを使おうが同じ。望んでいない道具を使えと押し付けられるのであれば同じだ。 Springの採用は、技術的ではなく、政治的に決まることが多い…

NetBeans 6.1β

色々と見てみたくてNetBeans6.1βをインストールしてみた。謳い文句通りかなり起動時間が短縮されているようだ。何度も見ているSWingデスクトップ>データベースアプリケーションだが、エンティティマネジャ、クエリ結果を生成している部分が以下のように変わ…

EclipseLink

Hibernateつぶし - ひがやすを blog Webアプリケーションは解らないが、SwingアプリケーションではNetBeansはToplink Essentialsを既にサポートしている。 ウィザードでプロジェクト>Java>Javaデスクトップアプリケーションでデータベースアプリケーションを…

今一番欲しいもの

ずばりRubyのmethod_missingが欲しい。これが動くということだけで今書いているSwing向けフレームワークでJRubyを使いたい位だ。SwingのコードをJRubyから扱う試みは既に幾つかなされているが、 Three approaches to JRuby GUI APIs - InfoQ このリンクの中…

NetBeans6.0.1エディタの不具合

JSDKを何度か入れ替えていたら、いつのまにかJFrame - Form用のクラスを開くと以下のように他愛も無いメソッドでエラーが出るようになってしまった。 rt.jarへのリンクが切れているわけでもなし、Component#setNameでエラーとか訳が解らない。(ビルド自体は…

それでも意味はある

public static T createHoge(Class hogeType) { return (T)hogeType.newInstance(); // せめて、キャスト無しにT.newInstance()って書きたいな } パラメタが無駄だし冗長だが我慢しよう。しかし、何よりジェネリクスを使っているのにキャストが必要なのが許…

JTableのセルエディタ/レンダラのコンポーネントは共有できない

なお、ComboBoxCellRendererはJComboBoxを継承しているので、そのままDefaultCellEditorのコンストラクタに指定することで、セルエディタとレンダラでGUIコンポーネントを共有することもできる。 JTableのセルエディタ/レンダラとBeansBinding 実際に行って…

BeansBindingの完成度

まだJSRの段階だということを割り引いても、それでも.NETデータバインドに比べると使いづらい。 バインド元と先でNullを転送しようとした場合やバインド先のオブジェクト.プロパティに到達できない場合の振る舞いを決定するためのメソッドも用意されているが…

JTableのセルエディタ/レンダラとBeansBinding

JTableは比較的簡単にセルを描画するセルレンダラ、セルを編集するセルエディタを追加することができる。 その中でも特に簡単なのは、カラムの型に合わせて使いたいセルエディタ/レンダラをJTableに登録する方法だ。 例えば、List型の値を編集するセルエディ…