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

Tomcat et TomEE Java Discussion :

Application Java non-servlet et connexion Tomcat


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Application Java non-servlet et connexion Tomcat
    Bonjour.

    Je suis confronté à une problématique, et je ne sais pas trop comment la résoudre.

    J'ai une application WEB qui tourne sous TOMCAT.
    Dans celle-ci j'ai une classe qui gère la connexion (et qui fonctionne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ServletContext servletContext= ServletActionContext.getServletContext();
    ds = (DataSource)servletContext.getAttribute("dataSource");
    connexion = ds.getConnection();
    avec mon paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	<context-param>
    		<param-name>dataSource</param-name>
    		<param-value>java:/comp/env/jdbcdmist</param-value>
    	</context-param>

    En plus de cette application Web, j'ai besoin de gérer des interfaces afin d'alimenter une table
    Pour celà, j'imaginais une application JAVA (avec un main()) qui lirait mon fichier d'interface et qui chargerait la base de données.

    Pour l'instant dans éclipse, le main est dans le même projet (et donc sera dans le WAR quand l'appli sera déployée).

    Le problème est qu'il n'y a pas de "servletContext" dans un appli non-servlet.

    J'ai donc pour l'instant imaginé quelque chose comme cela :
    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
     
    	public static Connection getConnexion()
    	{
    		try {
    			if(connexion == null || connexion.isClosed())
    			{
     
    				DataSource ds = null;
    				Context ctx;
    				ServletContext servletContext= ServletActionContext.getServletContext();
    				if(servletContext != null)
    				{
    					//Exécution depuis Tomcat
    					ds = (DataSource)servletContext.getAttribute("dataSource");
    					connexion = ds.getConnection();
    				}
    				else
    				{
    					//Exécution sans Tomcat pour charger le fichier d'interface
    					/*
    					 * TODO : voir pour externaliser ces paramètres
    					 */
    					String url = "jdbc:oracle:thin:@IP:xxxxx";
    		        	String user = "xxxxx";
    		        	String password = "xxxxx";
     
    		        	try {
    						Class.forName("oracle.jdbc.driver.OracleDriver");
    					} catch (ClassNotFoundException e) {
    						// TODO Bloc catch généré automatiquement
    						e.printStackTrace();
    					}
    		        	connexion=DriverManager.getConnection(url,user,password);
    				}
     
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
     
     
    		if (connexion == null) 
    		{
    			log.warn("connexion nulle");
    		}
     
    	    return connexion;
    	}
    Cela fonctionne, mais ce qui m’embête est que les paramètres de connexion sont en dur. Je me demande s'il n'y a pas une meilleure solution.
    Je pourrais par exemple transmettre les paramètres de connexion en paramètre du main(), mais je ne vois comment je pourrais récupérer ces paramètre dans la méthode getConnexion() appelée depuis les différents DAO.

    Avez vous une idée à me proposer?

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Personne n'a d'idée?

Discussions similaires

  1. Google Maps dans une application Java (non web)
    Par BabyC dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/10/2012, 21h31
  2. [OC4J] Migration d'une application Java web de Tomcat vers OC4J
    Par Alpha2008 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 23/03/2008, 15h40
  3. Application JAVA pour une connexion internet permanente.
    Par fred89210 dans le forum Java ME
    Réponses: 4
    Dernier message: 07/03/2008, 12h28
  4. Réponses: 14
    Dernier message: 20/02/2007, 10h26
  5. Application Java/Swing + Connexions a 2 bases de donnees
    Par Sylmandel dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 22/04/2006, 15h34

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