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 :

EJB stateful liste de tableaux vide dans une autre fonction que celle de connexion


Sujet :

Java EE

  1. #1
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut EJB stateful liste de tableaux vide dans une autre fonction que celle de connexion
    Bonjour à tous c'est encore moi, j'ai un problème j'ai beau chercher je ne comprends pas ,j'ai une liste de tableau à deux dimension dans mon ejb stateful problème je veux l'afficher dans une autre fonction que celle ou j'établit la session mais quand je fais sa il me dit que ma liste est vide ,par contre si je vérifie à l'intérieur de la fonction ou j' envoi les donnée en récupèrent mon buffer sa fonctionne comment puis je faire ,j'aimerais aussi afficher plusieurs jtable un pour chaque tableau de ma liste pourriez vous m'aidez je suis vraiment bloqué voici mon code:

    Voici la fonction qui envoi les données à l'ejb stateful cela fonctionne j'ai testé et quand j'ajoute au buffer aussi.
    Code JAVA : 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
    public void conserver(int Somme, int Date, int annee, int duree, int taux)  {
    		// TODO Auto-generated method stub
    		// Appel du stateless bean
    		AmortissementAvecEtatRemote Amortissement;
    		try {
    			Amortissement = lookupRemoteStatelessAvecEtatAmortissement();
    			Amortissement
    					.calculerAmortissement(Somme, Date, annee, duree, taux);
    			Object[][] donnee = Amortissement.calculerAmortissement(Somme,
    					Date, annee, duree, taux);
    			String[] entetes = { "mois", "annee", "mensualite",
    					"amortissement", "interet" };
    			JTable table = new JTable(donnee, entetes);
    			getContentPane().add(new JScrollPane(table), BorderLayout.SOUTH);
     
    		} catch (NamingException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
    	}

    Voici l'ejb stateful ou j'ai ma liste de tableau j'ai testé aussi ce n'ai pas vide :

    Code JAVA : 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
    package hw;
     
     
     
    import java.util.ArrayList;
     
    import javax.ejb.LocalBean;
    import javax.ejb.Stateful;
     
    /**
     * Session Bean implementation class Amortissement
     */
     
    @Stateful
    public class AmortissementAvecEtat implements AmortissementAvecEtatRemote {
    	private ArrayList<Object[][]> buffer = new ArrayList<Object[][]>();
        /**
         * Default constructor. 
         */
        public AmortissementAvecEtat() {
            // TODO Auto-generated constructor stub
        }
     
        public Object [][] calculerAmortissement(int somEmprunt,  int moisDebut,
    			int anneeDebut, int dureePret, int tauxAnnuel) {
    		// CALCUL DE L'AMORTISSEMENT
    		double tauxMensuel = ((double)tauxAnnuel / 12) / 100;
    		int dureeMensuelPret = dureePret * 12;
    		int capitalRestantDu = somEmprunt;
    		int moisPeriode = moisDebut;
    		int anneePeriode = anneeDebut;
    		int amortissementPeriode = 0;
    		int interetsPeriode = 0;
    		int mensualiteConstante = (int) Math.round((((double)(somEmprunt * tauxMensuel)) / 
    				((double)(1 - Math.pow(1 + tauxMensuel, -dureeMensuelPret)))));
    		/* tableauAmortissement [...][0] : mois de la période
    		 * tableauAmortissement [...][1] : année de la période
    		 * tableauAmortissement [...][2] : mensualité
    		 * tableauAmortissement [...][3] : amortissement
    		 * tableauAmortissement [...][4] : intérêts
    		 */
    		Object [][] tableauAmortissement = new Object [dureeMensuelPret][5];
     
    		for (int i = 0; i < dureeMensuelPret; i++) {
    			interetsPeriode = (int) (capitalRestantDu * tauxMensuel);
    			amortissementPeriode = mensualiteConstante - interetsPeriode;
     
    			tableauAmortissement [i][0] = moisPeriode;
    			tableauAmortissement [i][1] = anneePeriode;
    			tableauAmortissement [i][2] = mensualiteConstante;
    			tableauAmortissement [i][3] = amortissementPeriode;
    			tableauAmortissement [i][4] = interetsPeriode;
     
    			capitalRestantDu = capitalRestantDu - amortissementPeriode;
     
    			moisPeriode++;
    			if (moisPeriode == 13) {
    				moisPeriode = 1;
    				anneePeriode++;
    			}
    		}
    		 this.buffer.add(tableauAmortissement);
    		return tableauAmortissement;
    		}
     
     
     
     
     
     
    	public ArrayList<Object[][]> getBuffer() {
    		return buffer;
    	}
     
    	public void setBuffer(ArrayList<Object[][]> buffer) {
    		this.buffer = buffer;
    	}
     
     
     
    }

    voici mon autre fonction lors du clique d'un autre bouton,tous fonctionne m'ais quand je vérifie dans celle-ci ma liste est toujours vide ma supposition est comme j'établi une nouvel connexion je perd les données mais alors comment faire pour avec un bouton récupérer les données sans perdre la connexion,également pour l'affichage des jtable sa ne fonctionne pas est-il possible dans crée à l'aide de boucle? :

    Code JAVA : 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
    public void afficher_amortissement() {
    		// TODO Auto-generated method stub
    		// Appel du stateless bean
    		AmortissementAvecEtatRemote Amortissement;
    		try {
    			Amortissement = lookupRemoteStatelessAvecEtatAmortissement();
    			ArrayList<Object[][]> amortissement = Amortissement.getBuffer();
    			String[] entetes = { "mois", "annee", "mensualite",
    					"amortissement", "interet" };
     
    			for (Object[][] tableau : amortissement) {
     
    				JTable table = new JTable(tableau, entetes);
     
    				// table.setBounds(116, 240, 300,300);
    				getContentPane().add(new JScrollPane(table), BorderLayout.SOUTH);
     
    			}
    		}
     
    		catch (NamingException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
    	}

    Je vous remercie tous de prendre de votre temps n'hésiter pas pour des questions.

  2. #2
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    J'ai trouvé à chaque appel de la fonction je recrée une connexion donc l'ancienne est perdu j'ai donc crée un attribut et je vérifie si il y a une connexion déjà existente

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

Discussions similaires

  1. [Python 3.X] PyQt4: supprimer un item d'un QListWidget dans une autre fonction que celle où il a été créé
    Par nilslauwers dans le forum Bibliothèques tierces
    Réponses: 16
    Dernier message: 20/05/2015, 12h52
  2. Réponses: 6
    Dernier message: 05/09/2013, 18h20
  3. Réponses: 7
    Dernier message: 10/06/2009, 22h29
  4. Réponses: 5
    Dernier message: 27/11/2008, 17h34
  5. Ecrire dans une autre fenetre que celle de l'application
    Par aurelien59 dans le forum Windows
    Réponses: 3
    Dernier message: 15/05/2007, 11h50

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