You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ie...@apache.org on 2012/05/10 15:12:03 UTC

svn commit: r1336662 - in /james/app/trunk: pom.xml src/main/resources/META-INF/org/apache/james/spring-server.xml src/main/resources/log4j-template.properties src/main/resources/log4j.properties

Author: ieugen
Date: Thu May 10 13:12:02 2012
New Revision: 1336662

URL: http://svn.apache.org/viewvc?rev=1336662&view=rev
Log:
MAILBOX-152

- added jetm monitoring in app for most beans 
- monitoring can be enable/disabled by configuration alone

Modified:
    james/app/trunk/pom.xml
    james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml
    james/app/trunk/src/main/resources/log4j-template.properties
    james/app/trunk/src/main/resources/log4j.properties

Modified: james/app/trunk/pom.xml
URL: http://svn.apache.org/viewvc/james/app/trunk/pom.xml?rev=1336662&r1=1336661&r2=1336662&view=diff
==============================================================================
--- james/app/trunk/pom.xml (original)
+++ james/app/trunk/pom.xml Thu May 10 13:12:02 2012
@@ -18,7 +18,7 @@
     under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    
+
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
@@ -42,7 +42,7 @@
     </scm>
 
     <properties>
-    
+
         <james.server.version>3.0-beta5-SNAPSHOT</james.server.version>
 
         <!-- For more details see -->
@@ -75,7 +75,7 @@
         <james.system-properties>${james.system-property1}</james.system-properties>
         <!-- this name is used for James's folders on Debian systems and james user -->
         <james.debian.user>james</james.debian.user>
-        
+
     </properties>
 
     <dependencies>
@@ -415,7 +415,7 @@
         <version>${james.server.version}</version>
     </dependency>
 
-<!-- 
+<!--
     <dependency>
         <groupId>org.apache.james</groupId>
         <artifactId>apache-james-imap-processor</artifactId>
@@ -428,6 +428,16 @@
         <scope>runtime</scope>
         <version>${protocols.version}</version>
     </dependency>
+    <dependency>
+        <groupId>fm.void.jetm</groupId>
+        <artifactId>jetm</artifactId>
+        <version>1.2.3</version>
+    </dependency>
+    <dependency>
+        <groupId>fm.void.jetm</groupId>
+        <artifactId>jetm-optional</artifactId>
+        <version>1.2.3</version>
+    </dependency>
     </dependencies>
 
     <build>
@@ -860,7 +870,7 @@
     </plugins>
 
     </build>
-    
+
     <profiles>
     <profile>
         <id>make-deb</id>
@@ -1009,5 +1019,5 @@
         </build>
     </profile>
   </profiles>
-    
+
 </project>

Modified: james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml
URL: http://svn.apache.org/viewvc/james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml?rev=1336662&r1=1336661&r2=1336662&view=diff
==============================================================================
--- james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml (original)
+++ james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml Thu May 10 13:12:02 2012
@@ -18,28 +18,30 @@
   under the License.    
 -->
 
-<beans xmlns="http://www.springframework.org/schema/beans" 
+<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:camel="http://camel.apache.org/schema/spring"
-       xmlns:amq="http://activemq.apache.org/schema/core" 
+       xmlns:amq="http://activemq.apache.org/schema/core"
+       xmlns:jetm="http://jetm.void.fm/schema/jetm_spring_config_1_2"
        xsi:schemaLocation="
           http://www.springframework.org/schema/beans classpath:org/springframework/beans/factory/xml/spring-beans-3.0.xsd
           http://camel.apache.org/schema/spring classpath:camel-spring.xsd
-          http://activemq.apache.org/schema/core classpath:activemq.xsd">
+          http://activemq.apache.org/schema/core classpath:activemq.xsd
+          http://jetm.void.fm/schema/jetm_spring_config_1_2 http://jetm.void.fm/schema/jetm_spring_config_1_2.xsd">
 
     <!-- 
     ===========================================================================
        Spring Wiring for James Server: Annotation, Bean Post-Processors...
     ===========================================================================
     -->
-          
+
     <!-- 
       Enable Java Annotations processing.
      -->
     <bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor">
         <property name="order" value="3" />
     </bean>
-    
+
     <!-- 
       Enable support for Persistence Annotations processing.
      -->
@@ -124,7 +126,7 @@
        Queues
     ===========================================================================
     -->
-          
+
     <!-- 
       Mail Queue Factory
      -->
@@ -182,12 +184,12 @@
        Mailet Container
     ===========================================================================
     -->
-          
+
     <!-- 
       Mailet Container Beans.
      -->
     <bean id="mailprocessor" name="processorRoute" class="org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor"/>
-  
+
     <!-- 
       !!! mailetcontext bean must be defined after mailProcessor 
           otherwise LogEnabled injection via LogEnabledBeanPostProcessor will not occur before 
@@ -207,7 +209,7 @@
      -->
     <camel:camelContext id="jamesCamelContext" trace="false" >
         <camel:jmxAgent id="agent" disabled="false" createConnector="false" serviceUrlPath="/jmxrmi/jamescamel"/>
-        <camel:template id="producerTemplate"/>   
+        <camel:template id="producerTemplate"/>
     </camel:camelContext>
 
     <!-- 
@@ -215,7 +217,7 @@
        File System
     ===========================================================================
     -->
-          
+
     <bean class="org.apache.james.container.spring.bean.factorypostprocessor.FileSystemBeanFactoryPostProcessor">
         <property name="fileSystem" ref="filesystem" />
     </bean>
@@ -226,7 +228,7 @@
        DNS Service
     ===========================================================================
     -->
-          
+
     <bean id="dnsservice" class="org.apache.james.dnsservice.dnsjava.DNSJavaService" />
 
     <!-- 
@@ -244,7 +246,7 @@
     ===========================================================================
     -->
    <bean id="protocolhandlerloader" class="org.apache.james.container.spring.bean.factory.protocols.ProtocolHandlerLoaderBeanFactory" />
-    
+
     <!-- 
       SMTP Server
      -->
@@ -254,7 +256,7 @@
       LMTP Server
      -->
     <bean id="lmtpserver" class="org.apache.james.lmtpserver.netty.LMTPServerFactory"/>
- 
+
     <!-- 
       POP3 Server
      -->
@@ -265,7 +267,7 @@
      -->
     <bean id="imapserver" class="org.apache.james.imapserver.netty.IMAPServerFactory">
         <property name="imapDecoder" ref="imapDecoder"/>
-        <property name="imapEncoder" ref="imapEncoder"/>    
+        <property name="imapEncoder" ref="imapEncoder"/>
     </bean>
     <!-- The imapProcessor configuration will be reviewed when IMAP will be integrated into Protocols project -->
     <!-- Temporary configuration - see IMAP-357 -->
@@ -293,12 +295,12 @@
        Mailbox
     ===========================================================================
     -->
-          
+
     <!-- 
       Mailbox Managers
      -->
     <bean class="org.apache.james.container.spring.bean.factorypostprocessor.MailboxConfigurationBeanFactoryPostProcessor"/>
-     
+
     <bean id="locker" class="org.apache.james.mailbox.store.JVMMailboxPathLocker"/>
     <import resource="classpath:META-INF/org/apache/james/spring-mailbox.xml" />
 
@@ -306,18 +308,18 @@
       Mailbox Copier
      -->
     <bean id="mailboxcopier" class="org.apache.james.mailbox.copier.MailboxCopierImpl"/>
-          
+
     <!-- 
       Mailbox Importer
      -->
     <bean id="james23importer" class="org.apache.james.container.spring.tool.James23Importer"/>
-          
+
     <!-- 
     ===========================================================================
        Database DataSource
     ===========================================================================
     -->
-          
+
     <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
         <property name="ignoreUnresolvablePlaceholders" value="true"/>
         <property name ="location" value="classpath:james-database.properties"/>
@@ -354,13 +356,13 @@
         <!-- set this to true for debugging purposes -->
         <property name="showSql" value="false"/>
     </bean>
-    
+
     <!-- 
     ===========================================================================
        JMX
     ===========================================================================
     -->
-          
+
     <!-- 
       JMX Server
      -->
@@ -375,15 +377,15 @@
     <bean id="serverConnector" class="org.springframework.jmx.support.ConnectorServerFactoryBean" depends-on="registry">
         <property name="objectName" value="connector:name=rmi" />
         <property name="serviceUrl" value="service:jmx:rmi://${jmx.address}/jndi/rmi://${jmx.address}:${jmx.port}/jmxrmi" />
-    </bean> 
+    </bean>
     <bean id="registry" class="org.springframework.remoting.rmi.RmiRegistryFactoryBean">
         <property name="port" value="${jmx.port}" />
         <property name="serverSocketFactory" ref="restrictedRmiSocketFactory"/>
         <property name="clientSocketFactory" ref="restrictedRmiSocketFactory"/>
-    </bean> 
+    </bean>
     <bean id="restrictedRmiSocketFactory" class="org.apache.james.util.RestrictingRMISocketFactory">
         <constructor-arg value="${jmx.address}"/>
-    </bean>   
+    </bean>
 
     <!-- 
       JMX Export
@@ -416,4 +418,58 @@
     <bean id="mailboxcopiermanagement" class="org.apache.james.container.spring.mailbox.MailboxCopierManagement" />
     <bean id="james23importermanagement" class="org.apache.james.container.spring.tool.James23ImporterManagement" />
 
+    <!--
+    jetm performance monitoring
+    -->
+    <bean id="etmMonitor" class="etm.core.monitor.NestedMonitor"
+          init-method="start" destroy-method="stop" />
+    <bean id="etmHttpConsole" class="etm.contrib.console.HttpConsoleServer"
+          init-method="start" destroy-method="stop" autowire="constructor"/>
+
+    <bean id="etmMethodCallInterceptor"
+          class="etm.contrib.aop.aopalliance.EtmMethodCallInterceptor"
+          autowire="constructor"/>
+
+    <bean id="etmAutoProxy"
+          class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
+        <property name="interceptorNames">
+            <list>
+                <value>etmMethodCallInterceptor</value>
+            </list>
+        </property>
+        <!-- add the beans that you wish to monitor to the list bellow -->
+        <property name="beanNames">
+            <list>
+                <value>usersrepository</value>
+                <value>recipientrewritetable</value>
+                <value>domainlist</value>
+                <value>mailrepositorystore</value>
+                <!--
+            The folowing beans require CGLIB2 to be on the classpath -->
+                <!--
+            <value>mailqueuefactory</value>
+            <value>blobTransferPolicy</value>
+            <value>jmsConnectionFactory</value>
+            -->
+                <value>jmsTransactionManager</value>
+                <value>mailprocessor</value>
+                <value>mailetcontext</value>
+                <value>mailspooler</value>
+                <value>mailetloader</value>
+                <value>matcherloader</value>
+                <value>filesystem</value>
+                <value>dnsservice</value>
+                <value>fetchmail</value>
+                <value>smtpserver</value>
+                <value>pop3server</value>
+                <value>lmtpserver</value>
+                <value>imapserver</value>
+                <value>imapDecoder</value>
+                <value>imapEncoder</value>
+                <value>locker</value>
+                <value>datasource</value>
+            </list>
+        </property>
+    </bean>
+
 </beans>

Modified: james/app/trunk/src/main/resources/log4j-template.properties
URL: http://svn.apache.org/viewvc/james/app/trunk/src/main/resources/log4j-template.properties?rev=1336662&r1=1336661&r2=1336662&view=diff
==============================================================================
--- james/app/trunk/src/main/resources/log4j-template.properties (original)
+++ james/app/trunk/src/main/resources/log4j-template.properties Thu May 10 13:12:02 2012
@@ -137,4 +137,4 @@ log4j.logger.james.fetchmail=INFO, FETCH
 log4j.logger.james.domainlist=INFO, DOMAINLIST
 log4j.logger.james.virtualusertable=INFO, VIRTUALUSERTABLE
 log4j.logger.james.mailqueuefactory=INFO, MAILQUEUEFACTORY
-
+log4j.logger.etm.core.monitor.EtmMonitor= INFO, CONS, FILE

Modified: james/app/trunk/src/main/resources/log4j.properties
URL: http://svn.apache.org/viewvc/james/app/trunk/src/main/resources/log4j.properties?rev=1336662&r1=1336661&r2=1336662&view=diff
==============================================================================
--- james/app/trunk/src/main/resources/log4j.properties (original)
+++ james/app/trunk/src/main/resources/log4j.properties Thu May 10 13:12:02 2012
@@ -134,4 +134,4 @@ log4j.logger.james.fetchmail=INFO, FETCH
 log4j.logger.james.domainlist=INFO, DOMAINLIST
 log4j.logger.james.virtualusertable=INFO, VIRTUALUSERTABLE
 log4j.logger.james.mailqueuefactory=INFO, MAILQUEUEFACTORY
-
+log4j.logger.etm.core.monitor.EtmMonitor= INFO, CONS, FILE



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org