2008年2月28日木曜日

JBoss Portal 2.6.4 & PostgreSQL 8.3

JBoss Portal 2.6.4 を入れてみました。
hsql,mysqlでは問題なく動作するようですが、PostgreSQL 8.3 を使おうとすると下のようなエラーが出ます。 JDBCも新しい8.3のものに変更しているので、これで動いてくれないとがっかりです。 googleしてみましたが、この手のエラーについて幾つか見つかったものの、jdbcの問題によるものみたいで、参考にはなりませんでした。 当該のSQLをコピペで直接PostgreSQLで実行しても、すんなり動くので ? に挿入される文字列の問題なのか、本当にjdbcのimplementationの問題なのかは分かりません。 Postgresql側で詳細なlogを取ってみる方法もあるのでしょうが、、、。

2008-02-28 10:17:16,939 DEBUG [org.hibernate.SQL] insert into JBP_PORTAL_OBJECT_PROPS (OBJECT_KEY, NAME, jbp_VALUE) values (?, ?, ?)
2008-02-28 10:17:16,940 DEBUG [org.hibernate.persister.collection.AbstractCollectionPersister] done inserting collection: 16 rows inserted
2008-02-28 10:17:16,940 DEBUG [org.hibernate.jdbc.AbstractBatcher] Executing batch size: 1
2008-02-28 10:17:16,940 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
2008-02-28 10:17:16,941 DEBUG [org.hibernate.jdbc.ConnectionManager] skipping aggressive-release due to flush cycle
2008-02-28 10:17:16,941 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
2008-02-28 10:17:16,941 DEBUG [org.hibernate.jdbc.ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets:
0, globally: 0)]
2008-02-28 10:17:16,941 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
2008-02-28 10:17:16,941 DEBUG [org.hibernate.jdbc.ConnectionManager] opening JDBC connection
2008-02-28 10:17:16,941 DEBUG [org.hibernate.SQL] select objectnode0_.PK as PK64_, objectnode0_.PATH as PATH64_, objectnode0_.NAME as NAME64_, objectnode0_.P
ARENT_KEY as PARENT4_64_ from JBP_OBJECT_NODE objectnode0_ where objectnode0_.PATH=? or objectnode0_.PATH is null
2008-02-28 10:17:17,011 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
2008-02-28 10:17:17,011 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
2008-02-28 10:17:17,011 DEBUG [org.hibernate.jdbc.ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets:
0, globally: 0)]
2008-02-28 10:17:17,014 DEBUG [org.hibernate.util.JDBCExceptionReporter] could not execute query [select objectnode0_.PK as PK64_, objectnode0_.PATH as PATH6
4_, objectnode0_.NAME as NAME64_, objectnode0_.PARENT_KEY as PARENT4_64_ from JBP_OBJECT_NODE objectnode0_ where objectnode0_.PATH=? or objectnode0_.PATH is
null]
org.postgresql.util.PSQLException: An I/O error occured while sending to the backend.
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:218)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:236)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)

2008年2月25日月曜日

seam-gen の吐いたコードでの日本語サーチ


1.2.1GAの頃から、「日本語をサーチのinput box に入れると文字化けしてしまう」というのに気がついていましたが、2.0.1GAでもこれは変わっていません。 目的の物をある程度の所まで仕上げたので、先送りしていたこの問題にちょっと頭を突っ込んで見ましたが、バグなのか設定ファイルのどこかが足りないのか、やはりうまくゆきません。
デバッガで追っかけてみると、context のlocale.language="en"となっているのですが、これは"ja"になっていてくれないと、おかしいのではないかと思います(デバッガの該当画面を添付)。
同じ問題は野上さんのところでも確認されたので、バグ或いは設定ファイルの説明の欠落、ということでしょうが、「1.2.1の頃に明確にしてJIRAしておけば良かった」と反省しています。

2008年2月23日土曜日

glassfish v3 が動いた!!

2月21日時点でのsvnで取ってきたソースで無事コンパイル、動作確認が出来ました。
前にも書いた通り;
cd /usr/local/glassfish/v3/api
mvn -U install
cd ..
mvn -U install
cd distributions/glassfish/target
unzip -d (glassfish install directory) glassfish.zip
unzip -d (h2 install directory) javadb.zip
でインストールは終了。

(glassfish install directory)/bin/asadmin start-domain1

で起動。http://xxxx:8080/ でホーム画面が表示され、

テスト用として配布されている hello1.war を asadmin deploy hello1.war として
http://xxxx:8080/hello1 で無事hello1が表示されました。 

後は、seam の ear をdeployして走るかどうか、その時の変更点(Seam In Actionの内容を参考に)と、スピードなどをjbossと比較してみたいと考えています。 hello1.war のdeployの感じではjboss4.2.2GAよりも遅いような気がしますが、、、。

2008年2月16日土曜日

glassfish v3 のインストール

glassfish v2 のコンパイルはうまく行かなかったので、あまり期待はせずに v3のインストールをhttp://wiki.glassfish.java.net/Wiki.jsp?page=V3FullBuildInstructions に従って、やってみたらすんなりコンパイル、インストール、実行が出来ました。 
環境は: FreeBSD-8.0(current), jdk1.6.0です。(jdk1.5.0ではうまくいかなかった)
cd XXX/glassfish
svn checkout https://svn.dev.java.net/svn/glassfish-svn/trunk/v3
cd v3/api
mvn -U install
cd ..
mvn -U install
リビジョン18105では、
[INFO] Compiling 1 source file to XXX/glassfish/v3/common/amx-impl/target/classes
XXX/glassfish/v3/common/amx-impl/src/main/java/org/glassfish/admin/amx/AMXConfigRegistrar.java:58: シンボルを見つけられません。
シンボル: メソッド getObjectName()
場所 : org.jvnet.hk2.config.ConfigBean の クラス
ObjectName objectName = cb.getObjectName();
^
XXX/glassfish/v3/common/amx-impl/src/main/java/org/glassfish/admin/amx/AMXConfigRegistrar.java:94: シンボルを見つけられません。
シンボル: メソッド setObjectName(javax.management.ObjectName)
場所 : org.jvnet.hk2.config.ConfigBean の クラス
cb.setObjectName( objectName );
^
エラー 2 個

コンパイル出来ていませんので、後日再トライしてみます(昨日は出来たのに、、、)。

ところで、このwiki.glassfish.java.netって結構止まっている時が長いような、、、。

水冷にトライ、、、、

水冷にトライしようと、システム買ってきてしまったが、これがデカくてケースに収まらなくギブアップ。
ま、当面はこのままでゆくか、、、。

水冷はかなり気を入れて掛からないと、出来ないことを確認。

Phenom にシステム変更

GigabyteのGA-MA790FX-DQ6とPhenom(9500)にシステムを変更してみました。
何もせずに「すんなり」とは行ってくれません。
 1)SB600のオーディオがノイズ拾って酷い。
    ーー>これはIRQの所為みたいで、使ってないものを極力disableして解決。
       (どれが原因なのかは??)
 2)USBマウスを差し込んだまま立ち上げるとpanicして立ち上がらない。
    Freebsd-usbに同じような症状のレポートが上がっているが、解決方法は不明。
    立ち上がった後に、USB差し込むとちゃんと認識してくれるので、当面はこれで行く。

Opteron(dual) x2 よりは少しは省電力になることを期待しての導入ですが、、、.

2008年2月8日金曜日

Seam-gen でお勉強

やっと開発環境(Eclipse-devel)がそれなりに動いてくれるようになったので、ちょっと気を入れて seam でプログラム作成中。 
 seam-gen の吐き出すコードが seam-frameworkを使っていますが、これの拡張方法とか詳細に説明した資料が無いので、結果として seam-gen でCRUD出来たら、それでお終い状態が続いていましたが、 Dan Allen の Seam In Action (5月くらいの出版予定)が seam-gen をベースに説明されている事に意を強くして、これをベースに作ってみることに、、、。 少しは分かって来たような気がしてきました。 (ORもOOPも初めての、昔C屋には、頭では分かっても、実際に作ってみると、未だに中々勘どころが掴めてないのですが)

それで、備忘録(JPA/HQL)
ORマッピングではエンティティとテーブルが一致するコードになるので、 例えば「AオブジェクトをBオブジェクトのプライマリキー以外でソートしたい(AとBにはプライマリキーでOneToManyの関係がある)」というニーズをどう処理するのか? にハマってしまった。 Bの要素をselect の中に含めてしまうとentity Aの要素と異なるものが含まれてしまうので、うまく行かない。
JPAの説明(EJB3 in Action)見るとJOINはあるので、使えるはず。 ということで、
select a from A a join a.xxx B b order by b.yyy desc とやってみると出来るではないですか!! SORT するための要素が select の中に含まれていなければいけないのはPostgreSQLだけの制約だったかな?

 Seam in Action まだ半分くらいしか出来ていないし、肝心の seam-gen の詳細に関わる9章は、まだPre-releaseもされていませんが、5章位までの所を読む限り、期待が出来ます。

php のインストールの確認

phpって最初のfacebook書くときに使われたみたいで、それなりに歴史のある言語で、私も2006年位から使っていますが、CLIで使う事はあまり無いので、apacheとの連携のトラブル(mod_phpのバージョンの齟齬)などは気になりますが、拡張モジュールのインストールの問題に...