<dependencyManagement>
<dependencies>
+ <dependency>
+ <groupId>net.bull.javamelody</groupId>
+ <artifactId>javamelody-core</artifactId>
+ <version>1.32.1</version>
+ </dependency>
+
+
<!-- Ajout JTRA: Parsing de ligne de commande -->
<dependency>
<groupId>commons-cli</groupId>
import org.lilie.services.eliot.applications.textes.datastore.EliotFileDataStore
import org.lilie.services.eliot.applications.verrou.ApplicationVerrouGestionnaire
import org.codehaus.groovy.grails.commons.GrailsApplication
+import net.bull.javamelody.MonitoringFilter
+import net.bull.javamelody.SessionListener
+import org.lilie.services.eliot.utils.EliotDataSourceBeanPostProcessor
+import org.lilie.services.eliot.utils.JavaMelodySpringPlugin
+
-import org.springframework.core.annotation.AnnotationUtils
-import org.springframework.jmx.export.MBeanExporter
-import org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource
-import org.springframework.jmx.export.annotation.ManagedResource
-import org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler
-import org.springframework.jmx.export.assembler.MethodExclusionMBeanInfoAssembler
-import org.springframework.jmx.export.naming.MetadataNamingStrategy
-import org.springframework.jmx.support.MBeanServerFactoryBean
class EliotAppPluginGrailsPlugin {
def doWithSpring = {
- // adding the mbean server configuration and export with mbeanserver ref... no exports
+ // adding the mbean server configuration and export with mbeanserver ref... no exports
mbeanServer(org.springframework.jmx.support.MBeanServerFactoryBean) {
locateExistingServerIfPossible = true
}
}
}
}
+
+ if (ConfigurationHolder?.config?.javamelody?.spring?.actif) {
+
+ xmlns aop: "http://www.springframework.org/schema/aop"
+
+ javaMelodySpringPlugin(JavaMelodySpringPlugin)
+
+ aop {
+ config("proxy-target-class": true) {
+ pointcut(
+ id: "interceptorPointcut",
+ expression: ConfigurationHolder?.config?.javamelody?.spring?.pointcutExpression
+ )
+ advisor(
+ 'pointcut-ref': "interceptorPointcut",
+ 'advice-ref': "javaMelodySpringPlugin"
+ )
+
+ }
+ }
+ }
+
+ eliotDataSourceBeanPostProcessor(EliotDataSourceBeanPostProcessor)
+
+
+
+
}
def doWithApplicationContext = {ApplicationContext applicationContext ->
def doWithWebDescriptor = {xml ->
+ def confJavaMelody = ConfigurationHolder?.config?.javamelody
+
+ if (!confJavaMelody?.actif) {
+ return
+ }
+
+ def contextParam = xml.'context-param'
+
+ contextParam[contextParam.size() - 1] + {
+ 'filter' {
+ 'filter-name'('monitoring')
+ 'filter-class'(MonitoringFilter.name)
+
+ confJavaMelody?.each {
+ String nom = it.key
+ String valeur = it.value
+
+ if (nom == 'compteurs') {
+ nom = 'displayed-counters'
+ }
+
+ 'init-param' {
+ 'param-name'(nom)
+ 'param-value'(valeur)
+ }
+ }
+ }
+ }
+
+ findMappingLocation.delegate = delegate
+ def mappingLocation = findMappingLocation(xml)
+
+ mappingLocation + {
+ 'filter-mapping' {
+ 'filter-name'('monitoring')
+ 'url-pattern'('/*')
+ }
+ }
+
+ def filterMapping = xml.'filter-mapping'
+ filterMapping[filterMapping.size() - 1] + {
+
+ 'listener' {
+ 'listener-class'(SessionListener.name)
+ }
+ }
+
+
}
+ private findMappingLocation = {xml ->
+
+ // recherche la position du mapping dans le fichier de config tomcat
+ def mappingLocation = xml.'filter-mapping'.find { it.'filter-name'.text() == 'charEncodingFilter' }
+ if (mappingLocation) {
+ return mappingLocation
+ }
+
+ int i = 0
+ int siteMeshIndex = -1
+ xml.'filter-mapping'.each {
+ if (it.'filter-name'.text().equalsIgnoreCase('sitemesh')) {
+ siteMeshIndex = i
+ }
+ i++
+ }
+ if (siteMeshIndex > 0) {
+ return xml.'filter-mapping'[siteMeshIndex - 1]
+ }
+
+ if (siteMeshIndex == 0 || xml.'filter-mapping'.size() == 0) {
+ def filters = xml.'filter'
+ return filters[filters.size() - 1]
+ }
+
+ def filters = xml.'filter'
+ return filters[filters.size() - 1]
+
+ }
+
+
def doWithDynamicMethods = {ctx ->
- // Implement registering dynamic methods to classes (optional)
}
def onChange = {event ->
app.config.putAll(config.merge(app.config))
}
+
}
<dependencies>
+ <dependency>
+ <groupId>net.bull.javamelody</groupId>
+ <artifactId>javamelody-core</artifactId>
+ </dependency>
+
<!-- grails -->
<dependency>
<groupId>org.grails</groupId>
--- /dev/null
+/*
+ * Copyright © FYLAB and the Conseil Régional d'Île-de-France, 2009
+ * This file is part of L'Interface Libre et Interactive de l'Enseignement (Lilie).
+ *
+ * Lilie is free software. You can redistribute it and/or modify since
+ * you respect the terms of either (at least one of the both license) :
+ * - under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ * - the CeCILL-C as published by CeCILL-C; either version 1 of the
+ * License, or any later version
+ *
+ * There are special exceptions to the terms and conditions of the
+ * licenses as they are applied to this software. View the full text of
+ * the exception in file LICENSE.txt in the directory of this software
+ * distribution.
+ *
+ * Lilie is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * Licenses for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * and the CeCILL-C along with Lilie. If not, see :
+ * <http://www.gnu.org/licenses/> and
+ * <http://www.cecill.info/licences.fr.html>.
+ */
+
+
+
+package org.lilie.services.eliot.utils
+
+import org.springframework.beans.factory.config.BeanPostProcessor
+import javax.sql.DataSource
+import net.bull.javamelody.JdbcWrapper
+
+/**
+ * Permet d'intercepter les appels jdbc pour javamelody
+ * @author othe
+ */
+class EliotDataSourceBeanPostProcessor implements BeanPostProcessor {
+
+ private static final DATASOURCE = 'dataSource'
+
+ Object postProcessBeforeInitialization(Object bean, String beanName) {
+ return bean
+ }
+
+
+ Object postProcessAfterInitialization(Object bean, String beanName) {
+
+ if (bean instanceof DataSource && DATASOURCE == beanName) {
+ return JdbcWrapper.SINGLETON.createDataSourceProxy(bean)
+ }
+
+ return bean
+ }
+}
--- /dev/null
+/*
+ * Copyright © FYLAB and the Conseil Régional d'Île-de-France, 2009
+ * This file is part of L'Interface Libre et Interactive de l'Enseignement (Lilie).
+ *
+ * Lilie is free software. You can redistribute it and/or modify since
+ * you respect the terms of either (at least one of the both license) :
+ * - under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ * - the CeCILL-C as published by CeCILL-C; either version 1 of the
+ * License, or any later version
+ *
+ * There are special exceptions to the terms and conditions of the
+ * licenses as they are applied to this software. View the full text of
+ * the exception in file LICENSE.txt in the directory of this software
+ * distribution.
+ *
+ * Lilie is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * Licenses for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * and the CeCILL-C along with Lilie. If not, see :
+ * <http://www.gnu.org/licenses/> and
+ * <http://www.cecill.info/licences.fr.html>.
+ */
+
+package org.lilie.services.eliot.utils
+
+import org.aopalliance.intercept.MethodInvocation
+import org.aopalliance.intercept.MethodInterceptor
+import net.bull.javamelody.MonitoringProxy
+import net.bull.javamelody.ThreadInformations
+
+/**
+ * Permet de logger les appels de méthode des objets sur l'interface spring de javamelody
+ * @author othe
+ */
+class JavaMelodySpringPlugin implements MethodInterceptor, Serializable {
+
+ private def compteurSpring = null
+
+ public JavaMelodySpringPlugin() {
+ compteurSpring = MonitoringProxy.getSpringCounter()
+ }
+
+ Object invoke(MethodInvocation invocation) {
+
+ if (invocation.getThis() instanceof EliotDataSourceBeanPostProcessor) {
+ return invocation.proceed()
+ }
+
+ if (!compteurSpring.isDisplayed()) {
+ return invocation.proceed()
+ }
+
+ String requestName = invocation.getThis().getClass().getName()
+ String methodName = invocation.method.name
+
+ compteurSpring.bindContextIncludingCpu(requestName + '.' + methodName)
+ compteurSpring.addRequestForCurrentContext(false)
+
+ invocation.proceed()
+ }
+}
// chemin du dépot des images
eliot.impression.images.datastore.racine = '/tmp/images'
eliot.impression.images.datastore.autocreate = true
+
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+}
+
//Indique que l'application doit être compatible avec la version 1.8.0 de l'API
eliot.compatibilite.socle180 = false
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+}
+
//Indique que l'application doit être compatible avec la version 1.8.0 de l'API
eliot.compatibilite.socle180 = false
+
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+}
+
//Indique que l'application doit être compatible avec la version 1.8.0 de l'API
eliot.compatibilite.socle180 = false
+
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+
+}
\ No newline at end of file
* <http://www.cecill.info/licences.fr.html>.
*/
+import org.lilie.services.eliot.securite.impl.AnnuaireMode
import org.apache.log4j.DailyRollingFileAppender
import org.apache.log4j.FileAppender
import org.lilie.services.eliot.environnement.EnvironnementUtil
environments {
development {
- eliot.scolarite.import.sts.racineDossiers = '/tmp/sts'
+ eliot.scolarite.import.sts.racineDossiers = '/tmp'
eliot.scolarite.import.udt.racineDossiers = '/tmp'
}
}
grails.serverURL = "http://localhost:8080/${appName}"
//Expression cron définissant la fréquence de lancement de l'import sts
- eliot.scolarite.import.sts.heuredebut.cronexpression = '0 0/3 * 1/1 * ? *'
+ eliot.scolarite.import.sts.heuredebut.cronexpression = '* * 0 * * ?'
//Indique si l'import UDT doit être lancé
- eliot.scolarite.import.udt.actif = false
+ eliot.scolarite.import.udt.actif = true
//Délai, en jours, au-delà duquel les évènements et enseignements UDT sont supprimés de la table temporaire
eliot.scolarite.import.udt.dureePeremption = 30
//La taille des lots de suppression
eliot.urlResolution.mode = UrlServeurResolutionMode.CONFIGURATION.name()
}
}
+
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+}
+
//Indique que l'application doit être compatible avec la version 1.8.0 de l'API
eliot.compatibilite.socle180 = false
+
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+}
+
//Indique que l'application doit être compatible avec la version 1.8.0 de l'API
eliot.compatibilite.socle180 = false
+
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+}
+
// chemin du dépot des images
eliot.impression.images.datastore.racine = '/tmp/images'
eliot.impression.images.datastore.autocreate = true
+
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+}
+
eliot.scolarite.import.udt.racineDossiers = '/tmp'
}
}
+
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+}
+
* <http://www.cecill.info/licences.fr.html>.
*/
+import org.lilie.services.eliot.securite.impl.AnnuaireMode
+
import org.lilie.services.eliot.url.UrlServeurResolutionMode
import org.lilie.services.eliot.environnement.EnvironnementUtil
+import org.lilie.services.eliot.textes.DataStoreId
+import org.lilie.services.eliot.applications.textes.datastore.verification.DataStoreErreurConsequence
import org.apache.log4j.DailyRollingFileAppender
import org.apache.log4j.FileAppender
}
suiviImpressions {
- nombreLignesParPage = 100
+ nombreLignesParPage = 100
}
liaison {
}
}
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+}
+
// Démarrage du job de publipostage après déploiement en ms (0 = arrêt du job)
eliot.textes.triggerImpression.startDelay = 60 * 1000
// Délais de répétition du job de publipostage en ms (0 = arrêt du job)
eliot.textes.triggerImpression.repeatInterval = 2 * 1000
+environments {
+
+ production {
+
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+
+ development {
+ javamelody {
+ // permet d'activer le serveur javamelody pour analyse de l'activité de l'application
+ // le serveur java melody sera alors accessible à l'url 'monitoring'
+ actif = false
+ // liste des compteurs à surveiller
+ compteurs = 'http,sql,error,log,spring'
+ // paramétrage pour spring
+ spring {
+ // permet d'activer le monitoring des appels spring
+ actif = false
+ // Pointcut expression (Spring-aop) de tous les appels devant être monitorés :
+ // voir http://static.springsource.org/spring/docs/2.0.8/reference/aop.html
+ pointcutExpression = "execution(* org.lilie.services.eliot..*.*(..)) and not execution(* org.lilie.services.eliot..*.getMetaClass(..)) and not execution(* org.lilie.services.eliot..*.setProperty(..)) and not execution(* org.lilie.services.eliot..*.getProperty(..))"
+ }
+ }
+
+ }
+ test {
+ }
+}
+
<version>2.9.4-SNAPSHOT</version>
</parent>
<dependencies>
+
+ <dependency>
+ <groupId>net.bull.javamelody</groupId>
+ <artifactId>javamelody-core</artifactId>
+ </dependency>
+
<!-- grails -->
<dependency>
<groupId>org.grails</groupId>