TomcatのWebAppClassLoader差し替え

ContextのLoader要素で指定可能

<Context>
    <Loader loaderClass="hoge.MyLoader"/>
</Context>

クラスローダーのクラスは、Tomcatの見える場所に置く。
デフォルトのWebAppClassLoaderを継承したい場合は、Catalinaにおく
(システムクラスやCommonだと作ったクラスからWebAppClassLoaderが見えないし、ShareだとCatalinaから見えない)


で、差し替えて何をするのか知らないけど。。。

Tomcatのクラス置き場

いつまでたってもあやふやなのでメモ。
(CommonとSharedってどっちだっけ?)


http://jakarta.apache.org/tomcat/tomcat-5.5-doc/class-loader-howto.html

Common   Tomcatと個々のWebアプリで利用する共通クラス
Catalina Tomcat内だけで利用するクラス
Shared  個々のWebアプリ(Tomcatでなし)で利用する共通クラス

複数のWebアプリで利用する共通クラスはSharedに置きます(あるいはTomcat起動時のクラスパスに追加)。
もちろん、個々のWebアプリのクラスはWEB-INF/lib or classesに。

       Bootstrap
          |
       System
          |
       Common
      /      |
 Catalina   Shared
             /    |
        Webapp1  Webapp2 ... 

CatalinaとShared/WebAppXはクラス階層が異なると。

アホだ。。。

http://messages.yahoo.co.jp/bbs?.mm=FN&action=m&board=1006473&tid=8wmnc0ba9a9&sid=1006473&mid=232

Yahooファイナンスの検索で
「○んこ」って打つとここに飛ぶねw

ちなみにこの○んこ株は、現在、
信用売が増えて株主喚起銘柄(←はじめて見た)になってます
http://www.tse.or.jp/glossary/gloss_k/chuikanki.html


試しにいろいろ試してみたらこんなのもあった。

どらくえ→9684 スクエニ
ぽけもん→7974 任天堂
どうてい→4331298C メリルリンチ・ワールド債券F為替変動低減型 (これは"動低"にかかってるのね。。。)

アニメ会社かと思ったら

4830 サンライズ・テクノロジー(旧プライムシステム)

社名が変わったのですね。
しかし、1円が1000円になったから、見たことのないようなチャートが見れる。
また1円になるのかなぁ?いろんな点で極端な銘柄だ。

麻疹(ハシカ)とでざぱた

http://d.hatena.ne.jp/taichitaichi/20041116#p1
taichiさんがハテナ登場の模様。

デザインパターンはある意味では麻疹みたいなもんじゃないかと思います。

思い起こせば、Javaを覚えたてのころは継承を乱用し、GoF本を読めば(作ってるシステムにとって)意味のないクラスを量産し、作ってる本人はご満悦ですが、保守する人とかどうしてるんだろう、と思う今日このごろなコードもかつては作ってしまった気もします。


ハシカやオタフクカゼの困ったところは、「一度かかっておかない」と抗体ができないところ。
新しい設計技法、言語、ツールを知ると使いたくなるというのは、技術者の真っ当な感情だと思いますが、下手に使うとまわりが被害をこうむりますかも。あと、伝染性がある上に発病期間までに時間があったりすることも。ちゃんとテストして(使ってみて)、これは行けると踏んでから、まずはリスクの少ない部分から適用していきましょうと(予防接種)。

生産性と品質に対して何の寄与もしないどころか、
足を引っ張るだけのフレームワークにハメられた僕は別な何かが見える様になったと思います。

開眼フレームワークですな。。。

地震保険

http://www.mof.go.jp/jouhou/seisaku/jisin.htm

火災保険では、地震を原因とする火災による損害や、地震により延焼・ 拡大した損害は補償されません。 

地震のニュースを見ていて、ふと地震保険って保険として成り立つのかなぁとふと思った。
保険会社がさらに保険をかけているのか、あるいは国が助けてくれるのか?

http://www.daimon-mikishi.jp/kokkai/k-kiji/030424.htm


首都圏直下型地震というのもそろそろ来るかな。。。

http://www.bousai.go.jp/jishin/chubou/shutochokka/

ブターンタバコ全面禁止実現

http://www.keicho.com/world/bhutan2004-9.html

世界初らしい。何事も世界初は素晴らしい、
とタバコを吸いながら思った。


JTの株下がるかな?いや関係ないみたいですね。
http://antitbc.exblog.jp/980383/

JMXって

しばらく僕知らないというスタンスでしたが、JDK5やTomcatでもJMXJMX言い出すと、少しは知っとかないといかんかなーとおもって少し調べる。


http://neverbird.sourceforge.jp/cgi-bin/ja/hiki.cgi
の(JBoss)JBossJMX

JMX(Java Management Extensions)は、 Javaからネットワーク上のハードやソフトを管理、監視するための仕様です。MBean(Managed Bean)とはJMXで定義されたJavaBeanによく似た軽量コンポーネントです

MBeanはJMX用のコンポーネントなんすな。しかし、JMXって、アプリケーションサーバ作る人やクライアントツール使うような人が利用するような技術で、どうもなじみがない。


JDK5で標準準拠になったのは、JMXのクライアントの実行にJARが別にいらなくなったって利点なのかな。

http://www5.airnet.ne.jp/sakuraba/java/laboratory/J2SE1.5/MonitoringAndManagement/JMX/JMX1.html

Tomcat5.5プチ新機能 コンテキストファイル置き場

http://jakarta.apache.org/tomcat/tomcat-5.5-doc/changelog.html より

New default configuration mechanism for web applications, replacing DefaultContext. This uses a shared context file located in conf/context.xml. (remm)

%TOMCAT_HOME%/conf/context.xml にデフォルト設定がかけるようになってます。

The container will now always process a /META-INF/context.xml resource, unless the webapp has a specified external context file. (remm)

WebアプリのMETA-INF/context.xml にコンテキスト設定が書けるようになっています。
そういえば、Tomcatのサーバ固有設定で、Webアプリに一緒に含めてデプロイって感じでなかったですな。



なお、5.5新機能ではないですが、5.0からコンテキストの記述は、%TOMCAT_HOME%/conf/Catalina/localhost/ 以下(正確にはエンジンのディレクトリうんぬん)のXMLファイルに書きます。
server.xmlに書いても動きますが、removeしにくいのでやめときましょう。


http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/context.html

This method allows dynamic reconfiguration of the web application, since the main conf/server.xml file cannot be reloaded without restarting Tomcat. Please note that for tomcat 5, unlike tomcat 4.x, it is NOT recommended to place elements directly in the server.xml file. Instead, put them in the META-INF/context.xml directory of your WAR file or the conf directory as described above.

あれ?server.xmlに書いとくとサーバ再起動しないとリロードできないってことは、
コンテキストファイル書き換えて、Webアプリの再起動で反映されるんですな。
そういえばSysdeoのプロパティー変更(ログの出力先とか)も再起動なし反映されたかも。。。

Tomcatのオートリロードはデフォルトで15秒間隔

http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/loader.html

checkInterval
The number of seconds between checks for modified classes and resources, if reloadable has been set to true. The default is 15 seconds.

どうりで長く感じるわけだ。手動リロードの方がいいと思う僕。