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>
以上で準備完了です。
- tomcatを動作させ、EmployeeManagementを動かす。
- 「http://localhost:10000/」にアクセスする。
これで、ページの下の方に「Domain: s2jsfexample.invocation」に呼び出されたメソッドコールの情報が出てきます!