Bonjour, durant la phase de développement de mon application, je souhaiterais avoir le temps d'exécution des fonctions de mes DAO.
Alors j'avais pensé au
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
long t1=System.currentTimeMillis();
long t2=System.currentTimeMillis();
System.out.println((t2-t1);
Le System.out.println, c'est parce que dans un premier, je ne compte l'utiliser que lors du développement. Je mettrais bien sur un logger si jamais ca devient plus sérieux

Pour faire cela de manière plus propre, j'avais pensé le faire en utilisant Spring AOP. Je me trompe peut-être, il y a peut-être des solutions plus simple.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
	<aop:config>
		<aop:pointcut id="servicePointcut"  expression="execution(* appli.dao.mysql.*.*(..))"/>    		
		<aop:aspect id="loggingAspect" ref="monMonitor">
		    <aop:before method="monitorEntry"  pointcut-ref="servicePointcut"/>    		
		    <aop:after-returning method="monitorExit" returning="result" pointcut-ref="servicePointcut"/>
	    </aop:aspect>	    
	</aop:config>
 
  	<bean id="monMonitor" class="appli.test.dao.mysql.MonitorSQL"/>
Ca marche très bien, Spring m'appelle bien mes 2 fonctions. Mon problème, c'est comment mettre en place mes 2 Timer t1 et t2 pour que je puisse dans la méthode monitorEntry définir le t1
et dans la fonction monitorExit définir le t2, afficher le nom de la méthode, et ensuite le temp (t2-1).

Pour le nom de la méthode, je sais qu'il faut utiliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 String name = staticPart.getSignature().toLongString();
D'avance merci.