ビットの海ビットの海2014年6月24日火曜日jmxtermで手軽にJMX経由でmbeanの値を見てみるちょっと凝ったことをしたいときは、Javaだったり、JRubyなんかでスクリプト書いたほうがいいと思うんだけど。単純に特定の値を見たい、そんなときはコマンドラインでカジュアルにチェックできると嬉しいよね、ってことで、jmxtermです。ちなみに、グラフとか見たい時はJConsoleもいいけど、VisualVMのほうが見た目がよいね。最近のJavaならJAVA_HOME/bin配下にjvisualvmってのがあるから、そいつです。(閑話休題)というわけで、チートシート風に。例では、hazelcastの値を取っていますが、別にhazelcastでなくてももちろんかまいません。JMXを有効にするには、最低4つJVMの起動パラメータに追加してください。-Dcom.sun.management.jmxremote.port=適当に-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=falseで、JVMを起動させたら、繋いでみる。インタラクティブシェルとして操作もできるけど、パイプからコマンド投げたほうがなにかと便利。javaが実行できる環境で叩いてください。これはMacで使用している例。charset=unknown-8bitunknownとかいっちゃってる。charset=utf-8わーい。追記そもそもなんだけど、Excelでcsv出力すると、S-JIS(固定)らしい。{stringList.add(br.readLine());}br.close();とかで読み込みできた。ちなみに、hogeはSpringのMultipartFileです。共有2014年4月30日水曜日SpringMVCのform:selectだけど、optionのlabelが使いたい結論から言うと、妥協してるのでいい方法があったら教えて欲しい。required="required">hogeMapはSpringMVCのControllerで定義されているMap<Integer,String>である。上記のようなタグは、実行されるとこんな感じになる。別途modelMapになにかのmodelがあって、form:selectのpathに指定したやつがmodelMapのmodelのプロパティにあると勝手にそれをselectedにしてくれる機能を使ってる場合は別途、<option>にこんな指定が必要です。共有2014年4月22日火曜日Basic認証ついてるAPIをSpringのRestTemplateでPOSTするサンプルタイトルまんま。インターネット上に情報が少なく感じたので、親指の骨折(母指基節骨骨折)から治療までの記録を簡単に残しておこうと思います。今丁度2回目の手術(固定ワイヤーの抜針)が終わったところです。手術室のBGMは先生の趣味ま、ふつーのことなんですが。こっから語り入ります。骨折〜診断2月のとある日曜日に、会社の同僚とスノボに行き、誰も見てないところでふつーにこけました。こけた時に、思わず左手をついてしまったらしく、親指の付け根のあたりから腫れていて、突き指をしたような痛みがありました。痛みはあったものの、そんな大したこともないかな〜という感じで、自力で下山してその日は新幹線で東京の自宅に帰りました。翌日、市販の湿布をして寝て起きて、それでもやはり腫れが引いておらず、これはヒビでも入ってるかなぁ、と思い、ネットで調べて家から近い整形外科のA診療所に向かいました。そこで撮ったレントゲンを見ながら「折れてますねー。これは手術しないとだめですねー」という、宣告を受けたのでした。ひと駅隣に、手の専門医がいる病院があるとのこと。手の外科手術をしてくれそうな病院に心当たりがなかったので(普通無いですよね)、紹介状を書いてもらい、午後の診察に間に合わせる感じで、その専門医のいるB病院に行ったのでした。手外科専門医あとから知ったのですが、手という器官はとても難しいらしく、整形外科の中でも、更に専門性が高いそうです。行っていて、そこに登録されている人は一応手外科の専門医として、認められているそうです。こちらにリストがあります。http://www.jssh.or.jp/ippan/senmon/senmoni-meibo.html首都圏には多い気がしますが、やっぱり地方には少ないですよねぇ。この話もずいぶん後になってから知ったんですが、わたしを担当していただいた先生もリストにいました。その病院に行き、レントゲンを撮って、速攻で「明日は祝日だから、明後日手術できます?」という話になり、ずーん、と落ち込んだのを覚えています。なんでもやっぱり手術以外の解決方法がないとのことで、放置しておくと握力無くなる、という話でした。「ウチでは手の骨折はこの病院を毎回紹介しているし、このへんの病院の間でも手ならB病院だね」なーんてゆってたので、めんどくさくなってじゃあ明後日手術します。いうことになりました。その日は手術の為の血液検査とか、事前のブリーフィングとかして帰りました。麻酔は左腕一本(伝達麻酔?)時間は1時間ぐらいということだったので、まぁ、そこまででも無いのかなぁ、と思いました。実際やってみるとしんどかったんですが。日帰り手術なので、まず、入院して、手術着に着替え、熱を測ったり、血圧を測ったりします。時間は結局前の患者さんの手術が押したりするとズレするので、だいたいO時ぐらい、という感じです。ガクブルしながら暇を潰します。いざ呼ばれると、まぁ、手以外は元気なので、徒歩で手術室に向かいます。手術室に入ると、まず患部を洗うように言われます。これも看護師さんに言われながら自分で洗います。その後、手術台に横たわり手術。いう流れなのですが、わたしが行った手術室では東京FMがずーっと手術中も流れていました。手術室のBGMこれもあとから知ったんですが、手術室のBGMって、先生の趣味、らしいですね。先生によってはお気に入りのBGMを持ち込む人もいるとか、いないとか。開腹のようなガチの奴はBGM無しだったりもするようです。手術の流れとしては、麻酔〜執刀〜縫合、って感じでしょうか。全身麻酔ではないので手術されている間意識があるんですが、金属製のワイヤーとかを扱っている関係で、キーン、とか、バチッ(ニッパーで切る)とか金属加工音がいちいち気になりますが、どうしようもないですよね。「靭帯も切れてたから縫っておいたよ」と軽い感じで言われたのが印象的です。骨折に加えて靭帯も切れていたみたいでした(靭帯はレントゲンに映らないので開けないとわからない)。この手術では結果ワイヤーを4本埋め込む事になりました。手術した当日の夜がしんどかったです。麻酔が切れた途端、激しい痛みが押し寄せましたま、切ってるから当たり前なんですが、耐えかねて痛み止めを2回分飲んだんですがそれでも痛くて、その夜は悶絶しながら寝ました。これを5日ぐらい飲み続けます。痛みは2〜3日目からずいぶん良くなりました。ハサミでチョキチョキってかんじです。ワイヤーを1本抜く術後三週間ぐらいで、1本ワイヤーを抜きました。いっても手術ではなく、ワイヤー1本は外に露出してるという状態でした。それをペンチでエイヤーって抜く感じですね。このタイミングでギブスも外れました。リハビリ(指を動かせ)と言われるのもこの辺りから。保険について手術の費用としては、3割負担のおかげで、1回数万円程度でした(痛い出費ですが。)スノーボード用の簡易な保険とかに入っておくのも良いかも、と今回の事件を振り返って思いました。旅行代理店のパック旅行中の怪我だったので、通院が終わって総額が算出され次第、保険適用の申請をする予定です。ような書類の提出を求められ、返信すると、各種手続きの書類が送られてきました。通院時の領収書等を残しておいたほうが良いとの事だったので、一応全部残してあります。再手術の日程決まる術後六週間ぐらいで、そろそろ再手術できるかな、という話になりました。指にワイヤー3本残っており、それを撤去する手術になります。再手術と相成りました。局部麻酔(今度は腕ではなく、手だけ)時間は1時間ぐらいという話でした。基本的な流れは前回の手術と一緒なんで、端折りますけど時間はすぐ終わった(手術時間自体は10分程度)手だけの麻酔なので逆に痛い(麻酔の注射自体の痛みとか、腕に感覚があることによる痛みとか)やっぱり手術室は東京FMだったという感じで、とりあえず無事終わりました。術後の痛みも前回に比べれば全然マシでした。最後に今後の流れとしては抜糸リハビリ術後1ヶ月ぐらいに先生の最後のチェック終了という感じだそうです。(もちろん、予後次第というのはありますが)。今回のことで、多くの人にご迷惑をお掛けして申し訳ないと思いつつ、また多くの人に心配して頂いて感謝の気持ちでいっぱいでした。一気には難しいかもしれませんが、ちょっとずつ恩返しができたらなぁ、と思っています。共有2014年4月3日木曜日Springockitoのメモ(一部だけMockitoのモックに)要旨Spring+Mockitoを使った環境で、DIしてテストしたいときに、一部だけMockitoのモックに置き換えたい、という話。Mockito単体だとなんかうまくいかなくて。したら、Mockitoでも、やりかた間違ってんのか、もしくは、PowerMockとか使えばいけんのかも。説明このコードは、Service1の中で、Service2のメソッドが呼ばれています。Service1のテストをしたいんだけど、Service2のメソッドだけモックにしたい。Service1の他の処理はモックにしたくない。こんなコードで動くかなーと書いてみます。残念ながら、このコードは動きません。ここで、Springockitoです。https://bitbucket.org/kubek2k/springockito/overviewこんな書き方ができます。使い方Mavenの人はpomにこんな感じで追加しといてください。