2007年3月28日水曜日

ささやかだけどORACLEのバージョンの互換性

古いシステムでORACLEの7.3.3使ってるのがあるのだけど、マシンを取り替えて久々に繋ごう
としたらどうしても繋がらない。
前のマシンで使っていたのは9i、今回入れたのも9i。
なんでーってパニクって探していたらoracleのページ発見
http://www.oracle.co.jp/products/system/matrix_db.html

よく見たら前入ってたのはOracle9i Database Release 1 (9.0.1)
今回入れちゃったのはOracle9i Database Release 2 (9.2.0)
仕方がないのでバージョン違い入れ直した。
oracleってちょっと数字違うだけでえらく違うんだなーと改めて感心?した。

2007年3月22日木曜日

IBM Rational Web Developer(RWD)がJVM terminated. Exit code=255で異常終了


WASアプリ編集するのに便利だって言われたので入れてみたのですが、画像のようなエラー
メッセージが出てきて起動しません。

JVM terminated. Exit code=255
E:\IBM\Rational\SDP\6.0\.\eclipse\startup.jar
org.eclipse.emf.ecore.impl.EpackageRegistryImpl
-Xj9
(以下略)

困ってあちこち調べたところ、どうも割り当てメモリ不足?のような。
いわゆるVMのヒープサイズとやらが足らないみたいで
VMの起動時オプションで

-Xms 初期ヒープサイズ(全体)
-Xmx 最大ヒープサイズ(全体)

で指定できるとか。

\IBM\Rational\SDP\6.0の下に「rationalsdp.ini」があるので、以下の記述を追加。
VMArgs=-Xms512M
VMArgs=-Xmx1024M
(メモリが1.5GBあるマシンなので)

これで起動。
…あれ、変わらないし。

eclipseの困ったときの必殺オプション、-cleanを試してみることにしました。

> E:\
> cd E:\IBM\Rational\SDP\6.0
> rationalsdp.exe -clean

起動にちょっと時間がかかります。すごいクリーンをしているのか。
これで立ち上げた後は一応エラーが出ることはなくなりました。

2007年3月9日金曜日

WASでlog4jを使うときのメモ

TomcatプロジェクトをWASに移植したのですが、アプリログが出ない。
困って色々調べてみると、どうもWASは独自に「ws-commons-logging.jar」を持っていて
そこのcommons-logging.propertiesの内容が参照されてしまうらしい。
クラス・ローダの設定を変えないといけないようです。

まずcommons-logging.properties(アプリ内)の内容
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory

次に管理コンソールを立ち上げて、左のメニューから
「サーバー」→「アプリケーションサーバー」→右のページからサーバ名を選択
「サーバー固有のアプリケーション設定」で
クラスローダーポリシー→「複数」(MULTIPLE)
クラスロードモード→「親が最後」(PARENT_LAST)

またRational Web Developerを立ち上げて
アプリケーション内のapplication.xmlの設定を変更。
「デプロイメント」タブの設定を
クラスロードモード→「PARENT_LAST」
WARクラスローダーポリシー→「MODULE」に設定。
※これは配置してから管理コンソールでも変更できるようだけれど、配置し直す度に
いじるのはイヤなのでここで変えた方がラクみたい。

これでlog4jの設定先にログが出来るようになりました。