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の設定先にログが出来るようになりました。

2007年2月9日金曜日

なぜかJS(JavaScriptファイル)のタイプがus-asciiになってしまう in eclipse

eclipseでJavaScriptのエディターとして使っているのはJavaScriptエディタなんだけど、なぜか化ける…と思ったら、プロパティで見るとテキストファイルエンコードが「us-ascii」になっている。
なぜ?と思って、jsファイルの含まれるフォルダのテキストファイルエンコードをMS932に変更したのだがムダ。
中のjsは相変わらずus-asciiのままだ。
1ファイルずつ「プロパティ」→テキストファイルエンコード→MS932とやっていけば直るだろうけど、jsファイルは50個以上あるので嫌だ。

きっとファイルの関連づけとかその辺でなんとなかるに違いないと予想。
試行錯誤の末、「ウィンドウ」→「設定」から「一般」の下の「コンテンツ・タイプ」を発見。
「text」を展開すると「JavaScript」があるではないか。
これを指定するとファイルの関連づけ(ファイルタイプ)が*.jsとなっており、下に「デフォルト・エンコード」が設定されている。まさにコレです。
us-asciiを止めてMS932を入力し、更新。
無事に直った。

2007年2月6日火曜日

WAS6のFIX PACKでバグ

WebSPhere-WASの6.0.2を6.0.2.17にするFIX PACKにエラーがあるみたい。
コンソールからデプロイをしていると、リソース参照の設定ページで内部エラーが起きてページを表示できなくなる。内部エラーの内容ServletWrappe E SRVE0068E: Could not invoke the service() method on servlet action. Exception thrown : javax.servlet.ServletExceptionat org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:275)at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:528)at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:136)at com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:309)at com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:185)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:89)at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1924)at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:98)at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
なんか宛間違えたのかと思って散々調べたがFixPackのエラーっぽい。

IBMのAPAR PK37272
http://www-1.ibm.com/support/docview.wss?uid=swg21253756
エラー投稿のページ
http://www-128.ibm.com/developerworks/forums/dw_thread.jsp?message=13906409&cat=9&thread=147509&treeDisplayType=threadmode1&forum=266

FixのFix待ち…?
とりあえず6.0.2.15で今のところ問題なく運用中。