SSブログ

java.util.PropertiesのXML [Java]

java.util.Propertiesに取り込むXMLで、改行コードとかの制御文字を指定する方法を
調べていたら、けっこう深みにはまり始めた。

基本は文字参照でよし。
ただし、javaのNULL文字(\u0000)を指定したくて「�」と書いても、うまくいかない。
「Character reference "&#x00" is an invalid XML character.」だそうだ。

どうやら、上記サイトにある
記述する文字コードは、UTF-8やUTF-16の表現ではなく、ISO/IEC-10646(Unicode)規格書で示されるU+XXXX形式の抽象的な文字コードを用いる。
という記述に関係がありそう。

そこで、いろいろ検索し始めたら、泥沼に。
めんどうになったので、とりあえず出てきたサイトへのリンクだけ残す。

ISOのサイト
通信用語の基礎知識
漢字データベースプロジェクト

Log4Jのログレベルをアペンダで絞り込む [Java]

Log4Jで、あるアペンダで特定のレベルに絞って出力したい場合は
以下のように書くらしい。
     <filter class="org.apache.log4j.varia.LevelMatchFilter" >
        <param name="LevelToMatch"  value="WARN" />
        <param name="AcceptOnMatch"  value="true" />
     </filter>
     <filter class="org.apache.log4j.varia.DenyAllFilter" />

参考:http://www.nurs.or.jp/~sug/soft/log4j/log4j13.htm

Java2Dをサーバで動かす [Java]

Java2Dで画像を加工するサーブレットを作成していて、開発環境では動くのに
Tomcatに配備すると画像だけうまく表示できなかった。
前、仕事で何か作ったときもこうなったよなー。なんだっけなー。と思いながら
ログを見ると
java.lang.InternalError: Can't connect to window server - not enough permissions.
とあったので、検索。

あった。これだ。
Java 2D FAQ
Q: I have an application that reads, writes, and processes images (but does not display them) using Java2D. When I run my application on Solaris or Linux, it complains that X11 is not available. What can I do to make my application work in this environment?


回答は、要するに「-Djava.awt.headless=true」をVM引数に追加せよと。

Tomcatのばあい、プロパティファイルの末尾に追記すればよし。
sudo vi /usr/local/tomcat/conf/catalina.properties
java.awt.headless=true


動いた。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。