Introduce JMX and Hibernate statistics
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 28 Jun 2008 12:11:40 +0000 (12:11 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 28 Jun 2008 12:11:40 +0000 (12:11 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1310 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.server/pom.xml
org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/jmx.xml [new file with mode: 0644]
org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml

index 147ba303ea4ccb177c27c5a05c40827362255081..4056370db38643a642bb8aa9ae2564563173ee25 100644 (file)
                                <groupId>org.mortbay.jetty</groupId>
                                <artifactId>maven-jetty-plugin</artifactId>
                                <configuration>
-                                       <scanIntervalSeconds>10</scanIntervalSeconds>
                                        <webAppSourceDirectory>
                                                ../org.argeo.slc.webapp/src/main/webapp
                                        </webAppSourceDirectory>
-                                       <scanTargetPatterns>
-                                               <scanTargetPattern>
-                                                       <directory>
-                                                               ../org.argeo.slc.webapp/src/main/webapp
-                                                       </directory>
-                                                       <includes>
-                                                               <include>**/*.xml</include>
-                                                               <include>**/*.properties</include>
-                                                       </includes>
-                                               </scanTargetPattern>
-                                       </scanTargetPatterns>
                                </configuration>
                        </plugin>
                </plugins>
diff --git a/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/jmx.xml b/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/jmx.xml
new file mode 100644 (file)
index 0000000..267b598
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:aop="http://www.springframework.org/schema/aop"
+       xmlns:tx="http://www.springframework.org/schema/tx"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
+       default-lazy-init="true">
+
+       <!-- MBeans -->
+       <bean id="hibernateStatistics"
+               class="org.hibernate.jmx.StatisticsService" lazy-init="false">
+               <property name="sessionFactory" ref="sessionFactory" />
+       </bean>
+
+       <!-- JMX -->
+       <bean id="jmxExporter"
+               class="org.springframework.jmx.export.MBeanExporter"
+               lazy-init="false">
+               <property name="beans">
+                       <map>
+                               <entry
+                                       key="bean:name=hibernateStatistics,type=statistics,sessionFactory=sessionFactory"
+                                       value-ref="hibernateStatistics" />
+                       </map>
+               </property>
+       </bean>
+
+       <bean id="jxmServerConnector"
+               class="org.springframework.jmx.support.ConnectorServerFactoryBean"
+               lazy-init="false" depends-on="rmiRegistry">
+               <property name="objectName" value="connector:name=rmi" />
+               <property name="serviceUrl"
+                       value="service:jmx:rmi://localhost/jndi/rmi://localhost:1099/springconnector" />
+       </bean>
+
+       <bean id="rmiRegistry"
+               class="org.springframework.remoting.rmi.RmiRegistryFactoryBean"
+               lazy-init="false">
+               <property name="port" value="1099" />
+       </bean>
+</beans>
\ No newline at end of file
index d6c78343865269d73713d103ebaf88b60264e923..0ea81004e0961c58dfb4bd4dd78fe8c42b409f2e 100644 (file)
@@ -4,9 +4,7 @@
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="
-        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
-        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
-     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
        default-lazy-init="true">
 
        <import
@@ -24,7 +22,7 @@
                <property name="properties">
                        <props>
                                <prop key="sessionFactoryParentBean">
-                                       slcDefault.sessionFactory.hibernateTestHSQL
+                                       slcServerDefault.sessionFactory.hibernateTestHSQL
                                </prop>
                        </props>
                </property>
 
        <bean id="sessionFactory" parent="${sessionFactoryParentBean}" />
 
+       <bean id="slcServerDefault.sessionFactory.hibernateTestHSQL"
+               parent="slcTemplates.sessionFactory.hibernateBasic">
+               <property name="dataSource"
+                       ref="slcDefault.dataSource.inMemoryTestHSQL" />
+               <property name="hibernateProperties">
+                       <value><![CDATA[
+                               hibernate.dialect=org.hibernate.dialect.HSQLDialect
+                               hibernate.hbm2ddl.auto=create
+                               hibernate.current_session_context_class=thread
+                               hibernate.generate_statistics=true
+                       ]]></value>
+               </property>
+       </bean>
+
        <bean id="slcServerDefault.sessionFactory.persistentHSQL"
                parent="slcTemplates.sessionFactory.hibernateBasic">
                <property name="dataSource"
                <property name="sessionFactory" ref="sessionFactory" />
        </bean>
 
-       <!-- Transaction
-               <bean id="hibernateTransactionManager"
-               class="org.springframework.orm.hibernate3.HibernateTransactionManager"
-               lazy-init="false">
-               <property name="sessionFactory" ref="sessionFactory" />
-               </bean> -->
-
+       <!-- Hibernate instrumentation -->
        <bean id="osivInterceptor"
                class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
                <property name="sessionFactory" ref="sessionFactory" />