感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

野心を抱け。でも前面には押し出すな。

スポンサーリンク

ことば

野心を抱け。でも前面には押し出すな。
まどろっこしく感じるかもしれないが、気持ちを現在に集中するほうが、目標そのものにこだわっているよりも目標に近づけるんだ。
今の職務に全力を尽くそう。
情熱プログラマー ソフトウェア開発者の幸せな生き方

JBossの勉強

・モジュールとは、J2EEにデプロイ可能なコンポーネントの集まりのこと。
・エンタープライズシステムとは、企業の基幹業務で使うシステムのことで、障害に強く、信頼性の高い大規模システムのことを指す。

EJBの種類
・セッションBean
サーバ内に存在してクライアント固有のビジネスロジックを実行する。セッションBeanは1つのクライアント専用である。

・エンティティBean
複数のクライアントが共有できるデータを表現する。

・メッセージ駆動型Bean
JMS APIの非同期メッセージを処理するBean。

JBossのシステム管理

Java仮想マシンの調整
初期メモリサイズ・・・-Xms
最大サイズ・・・-Xmx
というオプションスイッチで設定する

set JAVA_OPTS= -Xms512M -Xmx512M

のように設定する。

ポート番号 JBossサービス 設定ファイル 機能説明
1099 JNDI conf/jboss-service.xml クライアントがイニシャルネーミングコンテキストを取得するためにJBossを接続する。
任意 JNDI/RMI conf/jboss-service.xml クライアントがネーミングコンテキストをルックアップするのに使われる
4444 RMIオブジェクトポート conf/jboss-service.xml クライアントがRMIサーバに接続するのに使われる
1476 Hypersonic SQL DB deploy/hsql-service.xml Pure Java DB
8080 Jetty Webサーバ deploy/jbossweb.sar/META-INF/jboss-service.xml デフォルトでJBossに含まれているWebコンテナ
8083 JavaクラスのためのWebサーバ conf/jboss-service.xml クライアントがJBossから動的にクラスをダウンロードを可能にする

JMXコンソールを削除する方法
jmx-console.warというWARファイルを削除する
jmx-console.warの代わりに、JavaベースのJMXコンソールを使う。
オープンソースでMC4Jという管理コンソールがある。

・Beanキャッシュモニタ
BeanキャッシュモニタはEJBのキャッシュの状態を監視するMBean。

■JBossのログの管理
デフォルトの設定ファイルは
conf/log4j.xml

レベル 説明
TRACE リクエストのトレースを含むもっとも詳細なログレベル
DEBUG 開発に最低限必要なログレベル
INFO サービスのイベントを含むログレベル
WARNING 警告のログレベル
ERROR エラーのログレベル
FATAL 障害発生のログレベル

デフォルトの優先度を変更するには、FILE Appender Thresholdのパラメタの値を変更するっぽい。まだ検証してない。

  <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <param name="Threshold" value="INFO"/>

・JBossWebの設定
ポート番号を指定するにはaddListenerを指定しているPortプロパティの値を変更する。
C:\JBoss\jboss-3.2.1\server\default\deploy\jbossweb-jetty.sar\META-INF\jboss-service.xml

       <Call name="addListener">
         <Arg>
          <New class="org.mortbay.http.SocketListener">
            <!-- 変更 2013/04/11  -->
            <Set name="Port"><SystemProperty name="jetty.port" default="8088"/></Set>
            <Set name="MinThreads">10</Set>
            <Set name="MaxThreads">100</Set>
            <Set name="MaxIdleTimeMs">30000</Set>
            <Set name="LowResourcePersistTimeMs">5000</Set>
          </New>
         </Arg>
       </Call>

スレッドプールとは、一定数のスレッドをあらかじめサーバ内に保持しておき、リクエストがきたらスレッドプールからスレッドを割付け、リクエストが終了したらスレッドをスレッドプールに戻すスレッド管理メカニズムのこと。

読んだ本

JBoss入門 オープンソース Java・EJB

JBoss入門 オープンソース Java・EJB

感謝のプログラミング

今回で感謝のプログラミングは【244時間目】
10000時間まで、あと【9756時間】