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

Java EE Discussion :

JMS / Traitements en parallèle [EJB MDB]


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 114
    Par défaut JMS / Traitements en parallèle
    Bonjour,
    Je souhaite utiliser JMS pour effectuer des traitements longs en parallèle. Savez comment paramétrer mon MDB pour que je puisse lancer maxi 5 traitements (méthode onMessage) en parallèle et que les autres messages restent dans la queue jusqu'à la fin d'un traitement ?
    Dois je implémenter moi même le mécanisme ?

    Pour info j'utilise JBoss 4.3.

  2. #2
    Membre confirmé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 114
    Par défaut
    J'aurais peut dû poser ma question sur le forum JBoss. J'ai trouvé la réponse toute seule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @ActivationConfigProperty(propertyName="maxSession", propertyValue="5")

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2008
    Messages : 39
    Par défaut Renseignement
    Salut je cherche à créer un EJB MDB qui me lance des batch en fonction des messages reçu dans le Topic JMS.
    Je ne sais pas trop comment m'y prendre !
    Pourrais tu me renseigner ?
    Merci.

  4. #4
    Membre confirmé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 114
    Par défaut
    Bonjour, voici un exemple avec une file (il suffit de changer les annotations pour un Topic).

    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
     
    @MessageDriven(activationConfig = {
    		@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/aipa/tts"),
    		@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
    		@ActivationConfigProperty(propertyName = "maxSession", propertyValue = "5") })
    /**
     * La gestion des transactions n'est pas laissée au container à cause d'un
     * problème de timeout de transaction pendant le process de vocalisation qui
     * peut être très long et les timeout du gestionnaire de transaction de JBoss 
     * claquent
     */
    @TransactionManagement(TransactionManagementType.BEAN)
    public class TTSJobMDB implements MessageListener {
     
     
           ...
     
            /**
             * Implémentation de {@link MessageListener} <br>
             * Ordre de vocalisation
             */
    	public void onMessage(Message message) {
    		try {
    			final Long ttstextid = message.getLongProperty("textid");
    			mLogger.debug("onMessage, ttstextid=" + ttstextid);
    			if (null != ttstextid) {
    				try {
    					performTTS(ttstextid);
    				} catch (Exception e) {
     
    					mLogger.error("onMessage ERROR", e);
    				}
    			}
    		} catch (Exception e) {
    			mLogger.warn("onMessage, error ", e);
    		} finally {
     
    		}
    	}
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2008
    Messages : 39
    Par défaut Merci
    Merci bcp.
    je suis arrivé a faire ce que je voulais.

  6. #6
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Par défaut
    Bonjour,

    J'ai un pb un peu similaire (traitement long à déclencher sur réception d'un message)...J'ai essayé de positionner le timeout sur les transactions (annot JBoss) mais ça ne semble pas fonctionner...

    Je me pose la question a propos des transactions de type 'BMT' car dans mon traitement, j'ai plusieurs méthodes qui font de la lecture/ecriture en BD (via hibernate) et il semblerait que la session hibernate expire (liée à la transaction courante ?)...

    D'avance merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. une méthode qui fait deux traitement en parallèle
    Par cyclopsnet dans le forum Langage
    Réponses: 26
    Dernier message: 21/10/2010, 16h02
  2. Réponses: 2
    Dernier message: 22/05/2010, 02h23
  3. DBMS_JOB - Traitement en parallèle
    Par nathieb dans le forum PL/SQL
    Réponses: 1
    Dernier message: 03/12/2008, 11h22
  4. traitement en parallèle
    Par qdqdfqfdqdxcwcrzsdfw dans le forum Struts 1
    Réponses: 4
    Dernier message: 16/05/2007, 15h50
  5. Réponses: 7
    Dernier message: 04/09/2006, 14h17

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