2005年8月アーカイブ

久しぶりにWAS5.0をインストールしたんだけど、MDBが入ったEARがデプロイはできるんだけど、起動ができない。
切り分けのため、日頃使ってるサンプルEARを入れても起動できず。

5.0.0->5.0.2にパッチしたら稼動した。Base5.0.0は単体では全くデプロイできないの????つかえねー

WebSphereの推奨されるパッチ一覧。


IBM - Recommended Updates for WebSphere Application Server Base and Network Deployment editions

Recommended Updates for WebSphere Application Server Base and Network Deployment editions

IBM WebSphere Developer Technical Journal: Developing and Testing Message-driven Bean Applications with the MQ Simulator for Java Developers in WebSphere Studio V5.0

このサンプルをWebSphere Studio 5.1.2上でやったら稼動したけど、Rational Application Developer のWAS5.0テスト環境でやったら稼動しなかった。。 環境のバグじゃん????

IBM シンプルで実用的なWebサービスのデザイン・パターンを学習 その4 - Japan

最近必要にかられ、JMSについて学習中。うちの環境でうごかねえTopicの記事なので、とりあえずメモメモ。

Queueのテストでだいたいうまくいったので、Topicのテストを実施。。TopicはPub/Sub方式と呼ばれ、チャットのようにひとつのリクエストを複数のプロセスが処理するような場合に使うみたい。あとはリアル株価配信とかにも使えそうかな??


....うまくいかん。。。。。。

どうも
javax.jms.JMSException: MQJMS2005: '' の MQQueueManager の作成に失敗しました
ってのがでてしまう。GoogleをMQJMS2005で検索して出てくるIBMのサイトをみても解決せず。


数時間試行錯誤して、WASTopicConnectionFactoryの設定が悪いことが発覚。

picture.png

赤の波線のところが、DIRECTではダメで、QUEUEDにしなくてはいけないようだ。。。そんなの、しらねえぞ。。

......でうまくいくと思ったんだけど、やっぱりNG。今度は
topicPublisher.publish(outMessage);

java.lang.NoSuchMethodError: com.ibm.disthubmq.impl.matching.MatchSpace: method checkTopicSyntax(Ljava/lang/String;)Z not found
てのがでてふんずまってしまう。。


今日はここまでか。JMS、なかなか手強いぞ。。。

ちょこっとエンタープライズな勉強をしたので、忘れないうちにメモ。

・JMS
WebSphere Studio上でテスト。
サーバ構成のJMSタブで「キューの作成」を行う。他にも設定は
JMSプロバイダー: Java開発用MQシュミレータ
Factoryの JNDI登録
宛先(Queue)のJNDI登録 <-このキュー名は、キューの作成で入力したキュー名にすること!

プットのコーディングは ファクトリとQueueのJNDIでJMSサーバに接続し、データをプット
ゲットのコーディングは ファクトリとQueueのJNDIでJMSサーバに接続し、データをゲット
ゲットのコーディングで、Queueのポーリングとかを行いたくない場合はリスナーかMessage Driven Beanを使う。
ただリスナーはWebコンテナ上では使えないみたいなので、素直にEJBプロジェクトを作ってMDBした方がよさそう。

MDBでListenするポートはデプロイ時に指定する仕様のようだ。指定するのはWebSphereではサーバ上に設定した値(ファクトリとQueueのJNDIを組にしたモノ)。

あとJNDIでLookupする際は、リソース参照をweb.xmlにセットするのを忘れずに。

MDB自体はejb-jar.xmlで定義する。たとえば
<enterprise-beans>
<message-driven id="QueueListenerMDBBean">
<ejb-name>QueueListenerMDBBean</ejb-name>
<ejb-class>ejbs.QueueListenerMDBBean</ejb-class>
<transaction-type>Container</transaction-type>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>
</message-driven>
</enterprise-beans>
</ejb-jar>
な感じ。

緯度、経度の計算方法
Google マップ で、表示したい箇所の地図を表示
たとえば Google マップ など。ちなみに、この場所は焼肉京城の場所です。

このページのリンクを見てみると、
http://local.google.co.jp/maps?q=%E7%84%BC%E3%81%8D%E8%82%89&ll=35.698128,139.757217&spn=0.004014,0.010131&near=%E6%B0%B4%E9%81%93%E6%A9%8B&num=10&start=0&hl=ja
となってますが、このパラメタのll=35.698128,139.757217が緯度、経度です。

これを
map.centerAndZoom(new GPoint(139.757217, 35.698128), 1);
とセットすればOK!!

サンプル いやあ、おもしろいねー

さてさて、池○に担当者を見つけてリアルタイムに電話をするといわれました。
すでに一時間が経過し、17:00を回ったところで池○から電話。

 NTT: どうも担当がウ○ミであることがわかりました。
 当方: それで?なんかわかったの?
 NTT: まだそれだけです。またかけます。

18:30 ついにウ○ミから電話。
 NTT: NTTウ○ミです。このたびは大変申し訳ありませんでした!!!
 当方: (すでに疲れ切っている)いったいなんなのあんた?
 NTT: すべてこちらの手違いでしたー。。。
 当方: 二つお願いをしている。どこで手続きが止まってるか、となんで今日の午前中に電話をくれないのか。
 NTT: 手続きは私のところで止まってました。。So-netからきた申請書の内容を私がちゃんと確認しなかったのです。
 当方: 意味がわからん。何で確認しないの?すでに期日を過ぎてんのに確認しないってのはおかしいだろ。
 NTT: 実はお客様のマンションの工事が終わってないので、個人の申し込みはまだ先だろうと高をくくってましたっっっ。
 当方: はあ?
 NTT: だから申請をほおっておいたんです。。

全くふざけたヤツですね。これだからNTTとつきあうのはイヤだったんだよ。。

 当方: 今後開通までの進捗はすべて連絡してください。
 NTT: わかりました。本当にすいませんでした。

まあ、これ以降コイツから連絡はこないでしょうね。

というわけで、現在はマンション共有部分の工事の完了待ち、その後の各宅の工事の完了待ち(の前に工事日の連絡とか)という状態です。NTTいわく、9月上旬には開通しますといってますが、いつ開通するでしょう。。。

すでに約束の12:00はすでに回ってしまいました。全くNTTっていう会社は何を考えてビジネスをやってるんでしょうか。個人客は全く相手にしていないということでしょうね。

12:10ころ、So-net○○から電話。
 So-net: NTTに確認しました。マンションの工事が終わってないって0120500171に電話して言ってください。
 当方:??意味わかんないんだけど。。
 So-net: (同じ事の繰り返し)
 当方:??だからぁ、意味がわかんないの。
 So-net: (同じ事の繰り返し)
 当方: (完全にイタイ人だと判断し)はいはいわかりました。もういいよ。

日本語が通じないサポートですね。終わってます。マンション自体の工事が終わってないって、上の番号にいえって事ですけど、それと電話がかかってこないことは関係がないわけですが、まあ、とりあえず新しい番号にかけてみました。後で明らかになるのですが、結果的にこのマンション自体の工事が終わってないことが後で効いてきます。。
すでにこの時点で12:30

 NTT: はいNTT○○です。。
 当方: (またまた事情を説明して) So-netのサポートに「マンションの工事が終わってない」って言えっていわれて電話してるんだけど。
 NTT: (ちょっとしらべて)よくわからないですねえ。担当が違うんで担当から電話させます。
 当方: もともとさあ、午前中に電話くれることになってんだけど、どうなってんの?あとさあ、午後出ちゃうんだけど、携帯にかけてくれる?
 NTT: わかりました。すぐに電話かけさせます。

あやしいもんだ。。案の定、かかってきたのは13時過ぎ。電車に乗ってたので、留守電になっちゃいました。

 NTT: NTTです。いやあ、この件、どうもうちで止まってるかもしれません。再度連絡します。

名前を名乗らない時点で、この人間の今までやってきた仕事のキャリアが読み取れますね。まったく無礼な人間です。あとさあ、まず謝れよ、ってかんじですね。番号も吹き込んでくれなかったのですが、携帯の着信見てこちらから電話。

 NTT: ハイNTTです。<-また、名乗らないヤツが出てきた。
 当方: 携帯に留守電はいってるんだけど、名乗らないから誰かわかんないんだけど。
 NTT: はあ、何のご用件ですか?
 当方: (また説明をさせられる)で電話がかかってこないわけ。どうなってんの?
 NTT: 担当から電話させます。
 当方: ......。。

NTTから電話。
 NTT: NTTです。
 当方: (いい加減切れて)ていうかさぁ、あんた誰??
 NTT: NTTのアリ○です。
 当方: どうなってんの?
 NTT: どうもこちらで止まってるようなんですが、もしかしたらSo-netで止まってるかもしれません。
 当方: So-netには確認したから、それはないと思うよ。
 NTT: いや、今日担当が休みでして....。
!!!コイツ担当じゃないの?なんで電話する日に担当が休みなの?いやあ、久々におかしなビジネスマンたちと会話をしました。
 当方: 何でさあ、電話する日に担当が休みなの?だいたいさあ...... <-で文句が数分続く。。
 NTT: 担当に確認します。
 当方: 時間を決めましょう。15:00きっかりに電話してください。
 NTT: わかりました。
 当方: 本当に電話してくださいね。
 NTT: 本当に大丈夫です。
 当方: 確認する内容は、どこで手続きが止まってるかと、何で午前中に電話してこないか、だよね。
 NTT: わかりました。
 当方: もう一度聞くけど、何時に電話するの?
 NTT: 15:00です。あ、やっぱ15:15にしてください。
 当方: (コイツ、イタイ奴だな)あんたさあ、さっき電話切ってたら、このまま15:15に電話する気だったでしょ。
 NTT: はあ。
 当方: 15:00に電話する気なかったね??
 NTT: はあ、すいません。
 あああーーーーーーー、完全にイカれてますねこの人は。
 当方: 頼むよ。15:15だよ。

このイタイお気楽人間たちに一日つきあうことになりそうです。

15:15案の定、連絡は来ませんでした。
15:30にNTTに電話。
 NTT: ハイNTTです。
 当方: アリ○さまお願いします。
 NTT: アリ○です。
 当方: どいうこと?電話来ないんだけど???
 NTT: あれーいきませんでした?でんわ。。
 当方: ていうかさ、あんたなんなの?あんたが電話するんでしょ。
 NTT: 担当の池○が見つかったので、でんわするよういっときましたけど、いってませんか?15:00にかけるって言ってましたけど。
 当方: 約束は15:15にあんたから電話が来るって事だけど。15:00てなんだよ。だいたいさああんたさあ......<-文句が続く。
 NTT: 15:00に電話をかけさせて、かけたことを確認して、15:15にそちらに電話するつもりでした。
 当方: 池○に確認したの?
 NTT: 確認しました。電話してませんっていってました。
 当方: (完全に支離滅裂です) あのね、じゃあさ、電話させなきゃだめでしょ。あとさ、確認して15:15にかけるつもりだったらしいけど、電話してないじゃん。何で?
 NTT: うっかりしてました。
!!!こんな状態になってんのに、うっかりすんなよ。。。
 当方: すぐにその池○とか言うヤツに確認しろ!!でんわさせろ!

はあ。。。
16:00になってようやく池○から電話。
 NTT: NTTです。
 当方: だからさあ、あんただれ??
 NTT: 池○です。
 当方: なんで15:00とかに電話しないの、あんたは?
 NTT: いやあ、番号をまちがって聞いたみたいで。。。
見え透いたウソはやめてほしい。ホントだったとしても、この状況で間違えるかねぇ。普通。
 NTT: 実はわたしたんとうじゃありませんで、ようわからんのです。
!!!担当じゃないの?担当って存在するの???
 当方: じゃあ、どうしよっか?
 NTT: 担当になんとか連絡とってみます。
 当方: 何時に連絡くれるの?
 NTT: リアルタイムに電話します。
 当方: (全く意味不明と思いつつ)リアルタイムね、すぐに連絡ちょうだいね。

まあ、当分かかってこないでしょう。

 

もともとうちのマンションにはe-マンションが敷設済みなのですが、このサービスはグローバルのIPアドレスを割り振ってくれません。このサイトを運営するために、どうしてもグローバルのIPアドレスが必要だったので、別にSo-netのADSLを契約していました。

そしたら、マンションで他の光回線サービスも契約するとのこと。マンションタイプなので月額料金もSo-net ADSLとほとんど変わらないので、この際So-netでBフレッツを申し込むことにしました。フレッツだとどうもIPアドレスもグローバルが振られるようだし。


なんでこんな事を書いてるかというと、たとえばこのサイト 予想外のBフレッツ導入記 にもあるように、NTT(以下みかか)とのやりとりは、注意深くやらないとすぐにほったらかされるなどのトラブルに巻き込まれてしまうのですが、うちも見事にやられました。あまりに腹が立ったので、ここに書いておこうと思ったわけです。

2005/8/3
さて、まず最初にSo-netのサイトの So-net ホームページ上でのお手続き などからADSLの契約をフレッツに変更する手続きを実行。つつがなく完了しました。どうも次の手順はNTTからの電話連絡らしく、希望日を2005/8/11の午前中としました。

2005/8/11
悲劇はこのときから始まりました。たまたま夏休みをとっていたのですが、午前中、いくらまってもNTTから電話がこない。11:40くらいになって業を煮やしてNTTに電話。ブロードバンド営業というところらしく(0120447202)

 NTT: はいNTT○○です。
 当方: あのーBフレッツの申し込みで、So-netから申し込んだんですけど、約束の今日の午前中におたくから電話がこないんですけど。
 NTT: お待ちください。。。(しばらくして)よくわかりませんのでSo-netさんに聞いてください。
 ツーツー。。。

どう考えてもNTT内部の話だよなあと思いつつSo-netインフォメーションデスク(0570-00-1414) に電話。

 So-net: はいSo-net ○○です。
 当方: あのーBフレッツの申し込みで、So-netで申し込んだんですけど、約束の今日の午前中にNTTから電話がこないんですけど。
 So-net: お待ちください。。。(しばらくして)よくわかりませんのでNTTさんに聞いてください。
この辺でちと怒りたくなったんだけど、
 当方: NTTにもそういわれたんだけど。。
 So-net: NTTのことはわかりません。うちはたしかにNTTに回してあるようですが(電話するように依頼してあるって意味らしい)。
 当方: つうか、たらい回しすんのやめてくれない?
 So-net: こちらからももう一度NTTに確認します。
  しばらくして
 So-net: 念押ししておきました。。
 ツーツー。

もう一度NTTに電話。

 NTT: はいNTT△△です。
 当方: (事情をもう一度説明して)やっぱりさあNTT内のことだから、こちらで対処するべきでしょ。
 NTT: お待ちください。。。(しばらくして)やっぱよくわかりませんので116に聞いてください。
 当方: (こいつらより、より一般的な受付である)116なんかに電話してもわかるわけないでしょ。ちゃんと対応してよ。。
 NTT: 116にかけてください。
 ツーツー。。

うーん。。116にかけたけど、待ち受けのメロディで待たされっぱなし。。なんか雲行きがおかしくなってきました。再度So-netに電話。

 So-net: はいSo-net ■■です。
 当方: (事情を説明して)念押ししたはずでしょ。こないんだけど。。
 So-net: まあ今日一日待ってみてください。<-相当になめた口調でいってる
!!この一言で切れました。(たまたま夏休みだったけど)社会人を午前中自宅待機させといて、終日まっとけとは、完全にこの人はイカれてます。。
 当方: 社会人を午前中自宅待機させといて、終日まっとけとはビジネス的にあり得ないでしょ。さっきもちゃんと念押ししたの?ちゃんとNTTに電話させるまで、責任もって対処しろよ。。
 So-net: すぐに連絡させるよう、再度念押しします。

さっきは明らかに念押しをしていないと思われる。完全にイタイ人間に当たってしまいました。

悲劇はまだまだ続きます。