IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Problème cron Java


Sujet :

Développement Web en Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 190
    Points : 61
    Points
    61
    Par défaut Problème cron Java
    Bonjour,

    j'ai un cron java qui met plus de 10mn à s'executer car il récupère des données dans une table mysql qui est très volumineuse et compare ses données avec le ldap. Donc quand je l'execute j'ai l'erreur suivante :

    Connection timed out: connect;
    nested exception is:
    java.net.ConnectException: Connection timed out: connect

    Que puis-je faire pour remédier au problème?

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bonjour,

    Citation Envoyé par cecile38
    Que puis-je faire pour remédier au problème?
    Optimiser ton traitement

    Plus sérieusement, pour pouvoir t'aider, il va nous falloir un peu plus de détails.
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 190
    Points : 61
    Points
    61
    Par défaut
    J'ai une table t_referentiel_personne qui contient les profils des utilisateurs de mon application.

    Je récupère dans une ArrayList l'ensemble des lignes de ma table puis je parcourt ma liste. Pour chaque item de ma liste je vais faire d'autres requete dans la base le but étant d'envoyer des mails à certains utilisateurs en fonction de ce que j'ai récupéré dans le résultat de mes requetes. Voici le code du cron :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    public void notificationActeursSupprimes() throws UnsupportedEncodingException, MailSendException, MessagingException, FieldException{
    		List<ReferentielPersonne> referentielPersonnes = referentielPersonneDao.findAll();
    		String id="";
    		List<String> templates = new ArrayList<String>();
    		InternetAddress ia=new InternetAddress();
    		String ad="";
    		List <String> listeId= new ArrayList<String>();
    		List <String> listeIdResponsabilitesGlobal = new ArrayList<String>();
    		ArrayList<HashMap<String, String>> mapParams = new ArrayList <HashMap<String, String>>();
    		Personne personne = null;
    		PersonneVO persVO = null;
    		Boolean modeMailNotification = new Boolean(parametreServiceHelper.getConstantBooleanValue(ParametreGeneral.BOOLEAN_NOTIFICATION_MAIL_MAJ_LDAP));
     
    		for(ReferentielPersonne referentielPersonne:referentielPersonnes){
    				if(id == "" || !id.equals(referentielPersonne.getId())){
    					personne = personneDao.recupererPersonne(referentielPersonne.getId());
    					if(personne != null){
    						persVO = personneService.recupererPersonne(personne.getId());
    						if(mapParams.size() > 0){
    														if (modeMailNotification){
    								mailService.sendEmailGlobal(ia, templates, mapParams);
    							}
    							mapParams.clear();
    							templates.clear();
    							listeIdResponsabilitesGlobal.clear();
    						}
    						//on cree un nouveau mail
    						ad = personne.getEmail();
    						ia = new InternetAddress(ad, "");
    					}
    				}
    					if(persVO != null){
    					Long profil = referentielPersonne.getProfil().getId();
    					Long entite = new Long(0);
    					String nomEntite = "";
    					if(referentielPersonne.getEntiteSecurite()!= null){
    						entite = referentielPersonne.getEntiteSecurite().getId();
    						nomEntite = referentielPersonne.getEntiteSecurite().getLibelle();
    					}
    										List<String> idresponsabilites = referentielPersonneDao.findResponsabilites(profil, entite);
     
    					if(idresponsabilites != null){
    					for(String idresponsabilite:idresponsabilites){
    						Personne responsabilite = personneDao.recupererPersonne(idresponsabilite);
    						if(responsabilite !=null){
    						PersonneVO responsabiliteVO = personneService.recupererPersonne(idresponsabilite);
    						if(responsabiliteVO != null){
    							//la personne est dans le ldap
    							if(!responsabilite.getEntite().equals(responsabiliteVO.getEntite()) && !listeIdResponsabilitesGlobal.contains(responsabilite.getId())){
    								templates.add("TemplateChangement");
    								HashMap<String, String> mapParam = new HashMap<String, String>();
    								if(responsabilite.getNom() == null){
    									mapParam.put("nom", "");
    									mapParam.put("prenom", "");	
    								}
    								else{
    									mapParam.put("nom", responsabilite.getNom());
    									mapParam.put("prenom", responsabilite.getPrenom());
    								}
    								mapParam.put("entite_ldap", responsabiliteVO.getEntite());
    								String profilResponsabilite="profil";
    									mapParam.put("profil", profilResponsabilite);
    									mapParam.put("entite", nomEntite);
    									mapParams.add(mapParam);
    									responsabilite.setNom(responsabiliteVO.getNom());
    								responsabilite.setPrenom(responsabiliteVO.getPrenom());
    								responsabilite.setEmail(responsabiliteVO.getEmail());
    									personneDao.persist(responsabilite);
    								listeIdResponsabilitesGlobal.add(responsabilite.getId());
    							}
    						}
    						else{
    								//la personne n'est pas ds le ldap
    							if(!listeIdResponsabilitesGlobal.contains(responsabilite.getId())){
    								personneDao.supprimePersonne(responsabilite.getId());
    								templates.add("TemplateSuppression");
    								HashMap<String, String> mapParam = new HashMap<String, String>();
    								if(responsabilite.getNom() == null){
    									mapParam.put("nom", "");
    									mapParam.put("prenom", "");	
    								}
    								else{
    									mapParam.put("nom", responsabilite.getNom());
    									mapParam.put("prenom", responsabilite.getPrenom());
    								}
    								String profilResponsabilite;
    									profilResponsabilite = "\"profil\"";
    									mapParam.put("profil", profilResponsabilite);
    									mapParam.put("entite", nomEntite);
    									mapParam.put("id", responsabilite.getId());
    								mapParams.add(mapParam);
    								listeId.add(responsabilite.getId());
    								listeIdResponsabilitesGlobal.add(responsabilite.getId());
    							}
    						}
    					}
    					if(persVO.getEntite().equals(personne.getEntite())){
    						personne.setId(persVO.getId());
    						personne.setNom(persVO.getNom());
    						personne.setPrenom(persVO.getPrenom());
    						personne.setEmail(persVO.getEmail());
    												personneDao.persist(personne);
    					}
    			}
    			}
    			id=referentielPersonne.getId();
    	}
    	}

Discussions similaires

  1. Problème HASHTABLES java
    Par ldcarpathes dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 17/08/2006, 17h25
  2. Problème de java.lang.NoClassDefFoundError
    Par nramariavelo dans le forum Hibernate
    Réponses: 5
    Dernier message: 13/06/2006, 14h54
  3. problème sous java
    Par lazzeroni dans le forum Oracle
    Réponses: 4
    Dernier message: 12/04/2006, 15h16
  4. Problème Applet Java et Win XP SP2
    Par octal dans le forum Applets
    Réponses: 4
    Dernier message: 04/02/2006, 09h57
  5. divers problème avec Java et jdbc
    Par chti_juanito dans le forum JDBC
    Réponses: 28
    Dernier message: 31/10/2005, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo