Je suis tombé sur un article surpenant :
http://www.dzone.com/links/r/throw_checked_exceptions_like_runtime_exceptions.html
Etrange ...
Un petit blog principalement sur l'univers du développement pour partager aussi bien des astuces pratiques utiles au quotidien mais également réfléchir sur les évolutions et perspectives de l'informatique.
samedi 29 septembre 2012
jeudi 27 septembre 2012
Spring 3.1.1 and ehcache demo application
Je viens juste de commiter une nouvelle version d'une application démo
qui fonctionne sous JBoss 7 avec Spring 3.1.1 et Ehcache.
Autre chose, cette application fonctionne avec Crash (a shell to extend the JVM)
Allez voir http://julienviet.com/crash/ pour plus d'information.
All source code is available at https://github.com/drieu/sandbox
Spring cache
Voici un lien sur les annotations Spring : :http://www.dzone.com/links/r/spring_31_caching_and_cacheevict.html
C’est bien expliqué avec des petits exemples pratiques.
C’est bien expliqué avec des petits exemples pratiques.
mercredi 26 septembre 2012
Fuzz Box: Générer des diagrammes UML à partir d'Eclipse
Fuzz Box: How to generate UML Diagrams from Java code in Ecl...
C'est un petit article qui présente un plugin Eclipse (ObjectAid ) pour générer
des diagrammes UML à partir de JAVA.
C'est un petit article qui présente un plugin Eclipse (ObjectAid ) pour générer
des diagrammes UML à partir de JAVA.
dimanche 23 septembre 2012
Moteur de recherche dans la javadoc ?
Vous voulez effectuer une recherche dans la javadoc rapidement ?
Voici un moteur de recherche dans la javadoc :
http://javasearch.developpez.com/index.php?cat=1
Pourquoi le site javasearch.developpez.com
Comme tout programmeur en Java, j'ai régulièrement besoin de me plonger dans la documentation.La javadoc est bien faite et plutôt claire. Par contre, il n'existe aucun moteur de recherche simple permettant de trouver facilement les classes ou les méthodes recherchées.Lassé d'utiliser le "CTRL+F" de mon explorateur pour trouver le bon mot dans la liste des 2700 classes,j'ai décidé d'indexer la totalité de la documentation java (plus de 200 Mo de fichiers html !!!) pour créer un moteur de recherche rapide et simple.
Remarque : Un seul hic, il n’y a pas la javadocs de Java 7.
samedi 22 septembre 2012
Vous voulez apprendre groovy ?
Si vous voulez apprendre Groovy sans acheter de livre et d'une manière un peu fun,
voici un lien qui va vous y aider : http://groovykoans.org/
En faite, vous téléchargez une archive qui contient qui contient des exercises.
Ses exercises se présentent sous la forme de test unitaires qui sont en échec.
A vous de corriger.Pour cela chaque méthode de test contient toutes les explications
pour résoudre l'exercise.L'apprentissage se fait progressivement.
Pour ma part, je connais un peu Groovy mais sans plus.J'avais un peu du mal à m'y mettre
et cette méthode m'aide bien.
Bon ... Je sais que j'ai mes exercices à faire !
vendredi 21 septembre 2012
Spring tutorial series
Si vous êtes intéressé par Spring, voici un lien intéressant :
http://www.javacodegeeks.com/2012/09/introduction-to-spring-tutorial-series.html
mercredi 19 septembre 2012
Crash Spring et ehcache
Voici un petit retour d'expérience sur l'utilisation de Crash.
J'ai testé Crash avec une application Spring qui met des valeurs en Cache.Cette application
est déployée sur un serveur Jboss 7.1.1.A l'aide de Crash, j'accède à l'appli en ligne
de commande et j'exécute un script d'affichage du cache.Cela fonctionne très bien.
Pour ceux que ça intéresse, j'ai mis le code source sur GitHub.(https://github.com/drieu/sandbox)
mardi 18 septembre 2012
java.lang.NoSuchMethodError: org.springframework.core.convert.converter.ConverterRegistry.addConverter(Ljava/lang/Class;Ljava/lang/Class;Lorg/springframework/core/convert/converter/Converter;)V
Problème :
Au déploiement de mon war dans JBoss, j’avais l’erreur suivante :
14:11:53,425 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/sandbox-0.0.1-SNAPSHOT]] (MSC service thread 1-1) Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) fr.dr.sandbox.listener.CacheListener: java.lang.NoSuchMethodError: org.springframework.core.convert.converter.ConverterRegistry.addConverter(Ljava/lang/Class;Ljava/lang/Class;Lorg/springframework/core/convert/converter/Converter;)V
at org.springframework.core.convert.support.DefaultConversionService.addScalarConverters(DefaultConversionService.java:62) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.convert.support.DefaultConversionService.addDefaultConverters(DefaultConversionService.java:53) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.convert.support.DefaultConversionService.<init>(DefaultConversionService.java:42) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.env.AbstractPropertyResolver.<init>(AbstractPropertyResolver.java:44) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.env.PropertySourcesPropertyResolver.<init>(PropertySourcesPropertyResolver.java:42) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.env.AbstractEnvironment.<init>(AbstractEnvironment.java:101) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.env.StandardEnvironment.<init>(StandardEnvironment.java:54) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.<init>(AbstractBeanDefinitionReader.java:57) [spring-beans-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.<init>(XmlBeanDefinitionReader.java:135) [spring-beans-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:83) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) [spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467) [spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397) [spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_18]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_18]
at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_18]
Solution :
En regardant de près dans le message d’erreur, il s’avère que j’avais des versions de spring différentes (3.0.5.RELEASE et 3.1.1.RELEASE).
En fait, j'utilise la version 3.0.5.RELEASE dans mon pom.xml et j’ai introduit une librairie qui utilisent la version 3.1.1.RELEASE.
J’ai donc upgradé toutes les version de spring de mon pom.xml à 1.1.1.RELASE pour résoudre mon problème.
Au déploiement de mon war dans JBoss, j’avais l’erreur suivante :
14:11:53,425 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/sandbox-0.0.1-SNAPSHOT]] (MSC service thread 1-1) Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) fr.dr.sandbox.listener.CacheListener: java.lang.NoSuchMethodError: org.springframework.core.convert.converter.ConverterRegistry.addConverter(Ljava/lang/Class;Ljava/lang/Class;Lorg/springframework/core/convert/converter/Converter;)V
at org.springframework.core.convert.support.DefaultConversionService.addScalarConverters(DefaultConversionService.java:62) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.convert.support.DefaultConversionService.addDefaultConverters(DefaultConversionService.java:53) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.convert.support.DefaultConversionService.<init>(DefaultConversionService.java:42) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.env.AbstractPropertyResolver.<init>(AbstractPropertyResolver.java:44) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.env.PropertySourcesPropertyResolver.<init>(PropertySourcesPropertyResolver.java:42) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.env.AbstractEnvironment.<init>(AbstractEnvironment.java:101) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.env.StandardEnvironment.<init>(StandardEnvironment.java:54) [spring-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.<init>(AbstractBeanDefinitionReader.java:57) [spring-beans-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.<init>(XmlBeanDefinitionReader.java:135) [spring-beans-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:83) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) [spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467) [spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397) [spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_18]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_18]
at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_18]
Solution :
En regardant de près dans le message d’erreur, il s’avère que j’avais des versions de spring différentes (3.0.5.RELEASE et 3.1.1.RELEASE).
En fait, j'utilise la version 3.0.5.RELEASE dans mon pom.xml et j’ai introduit une librairie qui utilisent la version 3.1.1.RELEASE.
J’ai donc upgradé toutes les version de spring de mon pom.xml à 1.1.1.RELASE pour résoudre mon problème.
lundi 17 septembre 2012
Podcast Java
Voici un podcast que je connaissais pas : http://javapubhouse.libsyn.com/
A voir si il est bien ...
N'hésitez pas à mettre des commentaires sur les podcast que vous connaissez.
jk's blog: Duck typing in Java ?
Je suis tombé sur un article intéressant.En effet, je ne connaissais pas le duck typing.Cet article m'a permis de découvrir cette notion :
jk's blog: Duck typing in Java ? Well, not exactly:
jk's blog: Duck typing in Java ? Well, not exactly:
vendredi 14 septembre 2012
ScriptRoom: Creating and configuring a MySQL DataSource in GlassFish Application Server.
ScriptRoom: Creating and configuring a MySQL DataSource in GlassFish Application Server.: http://dev.mysql.com/downloads/connector/j/3.1.html
crash Could not start CRaSSHD Failed to register BouncyCastle as the defaut JCE provider
Problème :
J’ai déployé crash.war dans JBoss et au démarrrage, j’avais l’erreur suivante : Could not start CRaSSHD
10:22:31,335 INFO [SSHPlugin] Booting SSHD
10:22:32,826 INFO [SecurityUtils] Trying to register BouncyCastle as a JCE provider
10:22:36,861 SEVERE [SecurityUtils] Failed to register BouncyCastle as the defaut JCE provider
10:22:36,862 SEVERE [SSHLifeCycle] Could not start CRaSSHD
java.lang.RuntimeException: Failed to register BouncyCastle as the defaut JCE provider
…
Caused by: java.security.NoSuchProviderException: JCE cannot authenticate the provider BC
at javax.crypto.SunJCE_b.a(DashoA13*..)
at javax.crypto.KeyAgreement.getInstance(DashoA13*..)
at org.apache.sshd.common.util.SecurityUtils$BouncyCastleRegistration.run(SecurityUtils.java:97)
at org.apache.sshd.common.util.SecurityUtils.register(SecurityUtils.java:77)
... 79 more
Caused by: java.util.jar.JarException: Cannot parse jar:file:/opt/jboss/jboss-eap-5.1/jboss-as/server/all/deploy/crash.war!/WEB-INF/lib/bcprov-jdk16-1.46.jar
Solution :
- Récupérer les fichiers (Dans mon cas bcprov-jdk15on-147.jar et bcprov-ext-jdk15on-147.jar).
http://www.bouncycastle.org/latest_releases.html
- Copier ses fichiers (e.g:bcprov-jdk15on-147.jar et bcprov-ext-jdk15on-147.jar) dans /opt/jdk/jdk1.6.0_18/jre/lib/ext
- vi /path_to_your_jvm/jre/lib/security/java.security et ajouter la ligne security.provider.9=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=com.sun.security.sasl.Provider
security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=org.bouncycastle.jce.provider.BouncyCastleProvider
- Redémarrer jboss.
http://www.randombugs.com/java/javalangsecurityexception-jce-authenticate-provider-bc.html
http://nyal.developpez.com/tutoriel/java/bouncycastle/#L1
http://julienviet.com/crash/
J’ai déployé crash.war dans JBoss et au démarrrage, j’avais l’erreur suivante : Could not start CRaSSHD
10:22:31,335 INFO [SSHPlugin] Booting SSHD
10:22:32,826 INFO [SecurityUtils] Trying to register BouncyCastle as a JCE provider
10:22:36,861 SEVERE [SecurityUtils] Failed to register BouncyCastle as the defaut JCE provider
10:22:36,862 SEVERE [SSHLifeCycle] Could not start CRaSSHD
java.lang.RuntimeException: Failed to register BouncyCastle as the defaut JCE provider
…
Caused by: java.security.NoSuchProviderException: JCE cannot authenticate the provider BC
at javax.crypto.SunJCE_b.a(DashoA13*..)
at javax.crypto.KeyAgreement.getInstance(DashoA13*..)
at org.apache.sshd.common.util.SecurityUtils$BouncyCastleRegistration.run(SecurityUtils.java:97)
at org.apache.sshd.common.util.SecurityUtils.register(SecurityUtils.java:77)
... 79 more
Caused by: java.util.jar.JarException: Cannot parse jar:file:/opt/jboss/jboss-eap-5.1/jboss-as/server/all/deploy/crash.war!/WEB-INF/lib/bcprov-jdk16-1.46.jar
Solution :
- Récupérer les fichiers (Dans mon cas bcprov-jdk15on-147.jar et bcprov-ext-jdk15on-147.jar).
http://www.bouncycastle.org/latest_releases.html
- Copier ses fichiers (e.g:bcprov-jdk15on-147.jar et bcprov-ext-jdk15on-147.jar) dans /opt/jdk/jdk1.6.0_18/jre/lib/ext
- vi /path_to_your_jvm/jre/lib/security/java.security et ajouter la ligne security.provider.9=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=com.sun.security.sasl.Provider
security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=org.bouncycastle.jce.provider.BouncyCastleProvider
- Redémarrer jboss.
http://www.randombugs.com/java/javalangsecurityexception-jce-authenticate-provider-bc.html
http://nyal.developpez.com/tutoriel/java/bouncycastle/#L1
http://julienviet.com/crash/
mardi 11 septembre 2012
new Blog( perso );: maven settings et sécurité apparente
new Blog( perso );: maven settings et sécurité apparente: Maven 3 permet de crypter les mots de passe serveurs stockés dans votre fichier settings.xml. C'est un net progrès pour ce fichier qui peut...
vendredi 7 septembre 2012
Creating a tar.gz file in Java
Voici un lien vers un blog pour créer des archives (tar.gz dans cet exemple) en Java : Creating a tar.gz file in Java
Java Puzzle
Si vous cherchez des exercices Java pour vous faire réfléchir.Voici un blog qui devrait vous plaire :
http://wouter.coekaerts.be/2012/puzzle-dreams-solution
Les exercices sont pas faciles et intéressant.
http://wouter.coekaerts.be/2012/puzzle-dreams-solution
Les exercices sont pas faciles et intéressant.
Inscription à :
Articles (Atom)