WebLogic

事の顛末を整理

最終的に,テストの自動化はテスト実行時のサーバ起動/停止のみに留め,サーバ設定は含めないこととした.要するに敗北宣言ですな.wlserverとかwlconfigとか面白いだけでなく実際に使えた(Windows上限定だけど)ので勿体無いとは思うけど,動かない場合が…

XAインテグレーションテスト自動化計画 処理シーケンス

メモ:最終的にこんな感じの流れでやることに 使用するConnector/JのJARを抽出してant/libへコピー テストクライアントをant/libへコピー 環境変数PATHとCLASSPATHをバックアップ WebLogic用環境変数設定用スクリプト"setWLSEnv.sh"を呼び出し 環境変数PATH…

wlserverタスクはOS依存か?

windows上で元気よく動いていたのにもかかわらず,linux上で全く同じbuild.xmlを実行するとエラーになる.おぃおぃ.documentで"Required=No"と書いてある属性なのに、"beahome"を指定しないとbeahomeが指定されてませんエラーがでる.beahomeを指定すると若…

WebLogic9.0でMySQL XAを使うための設定方法

この辺でいったんまとめてメモっておこう.WebLogic9.0(Diablo)でMySQL5.xのXA(2相コミット)機能を使うためには以下のように行う.XADataSourceが実装されているConnector/Jを手に入れる.今日時点でのConnector/J最新安定板ver3.1.10には入っていない.…

Antで起動と停止

ちょっとWebLogicいいかもー.評価上昇中.Antを呼び出す前に環境変数設定用のスクリプトを読んでおいて, @echo off set CLASSPATH= set PATH= CALL %WEBLOGIC_HOME%\server\bin\setWLSEnv.cmd set CLASSPATH=%CLASSPATH%;F:\workspace\connector-j-xa-test…

AntでXAデータソースを動的に追加しちゃう方法

追記: 謎が2つ.ver9.0のドキュメント"http://e-docs.bea.com/wls/docs90/programming/ant_tasks.html"なのにスキーマがver8.1のもののままになってる.MBean Referenceを見るとver8.1からver9.0にかけてかなり一新されている.ドキュメントは本当に正しい…

Antタスクの使い勝手

別に大勢に影響はないのでいいんだけれども Ant スクリプトで wlserver タスクを使用する場合、指定したサーバが使用可能になり接続をリスンするまで、タスクは制御を返しません。wlserver を使用してサーバ インスタンスを起動すると、サーバ プロセスは An…

ver8.1とver9.0でのweblogic.jarの違い

把握しきれないくらい多い.それぞれの"jar -tf"結果を"diff"すると,diff出力だけで2MBくらいの量.いったいどうなってるんだー."NoClassDeFoundError"が出てきたのはver9.0の"weblogic.jar"に変えたからっぽい.まいったなぁ.InitialContextのnewでエラ…

テスト自動化の壁

config.xmlにcredential(直訳:内容物証明)というエンコードされた情報がかいてある.またデフォルトのサンプルアプリが絶対パスで書いてある.だめじゃん.インストール位置を変えたらconfig.xml使いまわしできないじゃん.WinとLinuxで同じconfig.xmlな…

Antで起動と停止を制御

JBossが片付いたので今度はまたWebLogicなわけです.WebLogicはどうやら"startWebLogic.cmd"というバッチファイルから起動できるようなのですが,起動途中でIDとかPWとかの入力が要求されるようだ.これをどうにかしないとAnt自動起動停止の道は閉ざされる.…

XAインテグレーションテスト自動化計画

テスト実施者の作業量を最小限にするため,WebLogicインストール後にあれこれ設定作業をしてもらうというようなことは避けるべき. デフォルトで用意されるwl_serverドメインに間借りをする. GUI管理コンソールで設定した内容はconfig.xmlに全て反映される…

Third Party JDBC Driver の追加方法

以前のエントリ(http://d.hatena.ne.jp/mir/20050715/p1)で一度触れたが,どうやらDiabloことWebLogic9.0ではまたちょっと違うようだ. weblogic.jarとJDBCドライバ実装JARをクラスパスに追加しなさい というのは前と変わらないのだが,Windowsのシステムプ…

XAテスト一本目

データソース1個の,実際にはXAではないのだがXAなデータソースを使用したシンプルなテストコードが取った.やっと一本通った・・・.長かったなぁ〜.XAテストではおなじみのMySQLのGeneral Logの一部. 4 Query XA START 0x00000105a380251c00000001000000…

コピペ式ホットデプロイ モード切替 URLDeployScannerのOn/Off

今回WebLogicを触って気が付いたことのうちの1つ.開発モードというのとプロダクションモードというのがあって,開発モードでは特定のファイルパス(ディレクトリ)上にEAR/WAR/JARをコピペするだけでホットデプロイしてくれる.開発時には非常に助かる機能…

changeUser() そして 問題解決(?)

getXADataSouceした時に以前のConnector/JはchangeUserコマンドを発行していた.changeUserが発行されるとautocommitとかの接続後に設定した内容が初期化される.つまりこの仕様に立てば,AppServerはサーバ起動時のコネクションプーリング作成の際だけでな…

XAテスト解決

一通りのテストに成功.やれやれ.感想:WebLogicは当初想像していた以上に扱いにくいプロダクトだったよ.上っ面はいいんだけど中身がちょっとJBossよりもクオリティ低いかも.記念ログあげ. 163 Query XA START 0x0000db50835b7f28edb9,0x4d7953514c20584…

XAテスト移植

JBoss+MySQL用のシンプルなインテグレーションテストは既に以前作成してあったのだけれども,今回WebLogic+MySQL用に作ったものの方がよりシンプルかつテスト範囲が広いため,WebLogic用に作ったテストコードをJBoss用に移植した.移植といってもよくみたらJ…

You may enlist a resource only on a server

WebLogicのJTAとJCAはin-containerじゃないと動きませんだとさ. javax.transaction.SystemException: You may enlist a resource only on a server at weblogic.transaction.internal.TransactionImpl.enlistResource(TransactionImpl.java:441) at testsui…

XAの利用手順

文句だけ垂れていても先に進まないので,深呼吸をしてから.要するに,WebLogicはMySQL XAに正式に対応していない.したがってGUIコンソールを使っている限り,無駄.GUIコンソールを捨ててXMLファイルを直接書かないとだな.

JMS諦めました

QueueReceiverを使ってのメッセージ受信は諦めます.メッセージ送信に関してはJNDIレベルで複数個所のコードでQueueを共有できます.しかしメッセージ受信に関しては,そのQueueからの取得がJNDIレベルではできず,QueueConnectionオブジェクトを共有させて…

なんかもうやば過ぎ

こんなAppServer使いたくないっす.不便だし.GUI管理コンソールで簡単に設定できると思ったら,設定通りに動かないし.情報は取れないし.XADataSourceデプロイできないし.ほんとにちゃんとJTA実装できてるんか?ちゃんとenlistResourceしてくれよ.JBoss…

このブログはもはやWebLogicを血祭りに挙げるブログとなりました

[weblogic.management.ApplicationException: Exception:weblogic.management.ApplicationException: Prepare failed. Task Id = 12 Module: xasimpletest Error: [EJB:011025]XML パーサはデプロイメント記述子でエラーを検出しました。DOC TYPE が正しいこ…

JMS メッセージの受信

JNDIでルックアップして取得したQueueへメッセージを送信. その後別のクラスにて同じQueueをJNDIからルックアップして取得,メッセージを受信しようと試みる.がしかし,メッセージが1件も入っていない.がしかし,JMX経由でQueue内の未受信メッセージ数を…

XAテスト JARファイルの順番

jbossall-client.jar weblogic.jar jbossall-client.jarよりもweblogic.jarの優先順位を上げないと,以下のコードが実行できませぬ. ObjectName monitorObjectName = new ObjectName( "mydomain:JMSServerRuntime=MyJMS Server" + ",Location=myserver,Name…

ObjectName一覧

BEAはObjectNameを「ドメイン名+内容」の形式に変えた方が良いのではと思った今日この頃です.→追記 Size: 619 MyJMS Template myserver_myserver_console_weblogic.management.console.webapp._domain.__tasktable_89 weblogic.admin.RMI myserver_myserve…

JMSのコンフィギュレーション

JMSを利用するアプリケーション側が必要とする"接続ファクトリ"と"キューまたはトピック"をサーバ側に設定しておく必要がある.どちらもJNDIでのルックアップにより取得できるようにしておく必要がある.WebLogicではこの辺りの設定もGUIな管理コンソールか…

ぼちぼち出来てきた

やっとこテストプログラムを動作させることができるくらいの段階まで来た.まだテストは通らないけどね.1つ問題が.JBossの場合はJMSのキューの状態をJMXで公開されているメソッドを通じて知ることができ,これをassertに使っていた.同様のことを達成した…

データソースの追加方法

WebLogic9.0の英語ドキュメントによれば,ver9.0はMySQL用JDBCドライバがプレインストールされているらしい.しかしver8.xは追加してあげないといけないようだ.追加方法は以下. 1. CLASSPATHにJDBCドライバのJARファイルと$WEBLOGIC_HOME/server/lib/weblo…

JNDIからのデータソースの取得方法

"MysqlDS"という名前でバインド済みのデータソースをローカルのJNDIから取得する. public static void main(String[] args) throws Exception { Hashtable ht = new Hashtable(); ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContext…

転向 フォースの商用面に堕ちる

ここ数日はネタが無かったので日記を書かなかったが,実はこれからJBossではなくてWeblogicを触ることになった.Weblogicはフレームワーク開発をしていた時にアプリケーション開発者としてちょろっと触った程度なので実は余り良く知らない.この機会に勉強さ…