S2JmxJavelin&MX4Jを試す!

 公開されたS2JmxJavelinを試してみました。

  • S2JmxJavelin-V0.2.0をDLし、解凍したorg.seaser.s2jmxjavelinviwer_0.1.0.jarをpluginに配置する。
  • MX4JをDLし、解凍した以下のjarをWEB-INF\libに配置する。
    • mx4j-impl.jar
    • mx4j-jmx.jar
    • mx4j-remote.jar
    • mx4j-rimpl.jar
    • mx4j-rjmx.jar
    • mx4j-tools.jar
    • mx4j.jar
  • WEB-INF\srcに以下のjavelin.diconを配置する。
 <components namespace="javelin">
   <component name="javelinTraceInterceptor"
     class="org.seasar.javelin.JavelinTraceInterceptor">
     <property name="logArgs">true</property>
     <property name="logReturn">true</property>
     <property name="logStackTrace">false</property>
   </component>
   <component name="S2JmxJavelinInterceptor"
     class="org.seasar.javelin.jmx.S2JmxJavelinInterceptor">
     <property name="intervalMax">1000</property>
     <property name="throwableMax">1000</property>
     <property name="recordThreshold">0</property>
     <property name="httpPort">10000</property>
     <property name="domain">"s2jsfexample"</property>
   </component>
 </components>
  • WEB-INF\src\examples\jsf\dicon\allaop.diconを以下のように変更する。
 <components>
   <include path="aop.dicon"/>
   <include path="j2ee.dicon"/>
   <include path="javelin.dicon"/>
   
   <component name="actionThrowsInterceptor" 
class="examples.jsf.interceptor.ActionThrowsInterceptor"/>
   
   <component name="actionInterceptorChain" 
class="org.seasar.framework.aop.interceptors.InterceptorChain">
     <initMethod name="add">
       <arg>javelin.S2JmxJavelinInterceptor</arg>
     </initMethod>
     <initMethod name="add">
       <arg>javelin.javelinTraceInterceptor</arg>
     </initMethod>
     <initMethod name="add">
       <arg>aop.traceInterceptor</arg>
     </initMethod>
     <initMethod name="add">
       <arg>actionThrowsInterceptor</arg>
     </initMethod>
   </component>
 
   <component name="logicInterceptorChain" 
class="org.seasar.framework.aop.interceptors.InterceptorChain">
     <initMethod name="add">
       <arg>javelin.S2JmxJavelinInterceptor</arg>
     </initMethod>
     <initMethod name="add">
       <arg>javelin.javelinTraceInterceptor</arg>
     </initMethod>
     <initMethod name="add">
       <arg>aop.traceThrowsInterceptor</arg>
     </initMethod>
     <initMethod name="add">
       <arg>aop.traceInterceptor</arg>
     </initMethod>
     <initMethod name="add">
       <arg>j2ee.requiredTx</arg>
     </initMethod>
   </component>
 </components>
  • WEB-INF\src\examples\jsf\dicon\alldao.diconを以下のように変更する。
<components>
  <include path="dao.dicon"/>
  <include path="aop.dicon"/>
  <include path="javelin.dicon"/>

  <component class="examples.jsf.dao.EmployeeDtoDao">
    <aspect>javelin.S2JmxJavelinInterceptor</aspect>
    <aspect>javelin.javelinTraceInterceptor</aspect>
    <aspect>aop.traceInterceptor</aspect>
    <aspect>dao.interceptor</aspect>
  </component>
  
  <component class="examples.jsf.dao.DepartmentDtoDao">
    <aspect>javelin.S2JmxJavelinInterceptor</aspect>
    <aspect>javelin.javelinTraceInterceptor</aspect>
    <aspect>aop.traceInterceptor</aspect>
    <aspect>dao.interceptor</aspect>
  </component>
</components>


 以上で準備完了です。


 これで、ページの下の方に「Domain: s2jsfexample.invocation」に呼び出されたメソッドコールの情報が出てきます!