Bonjour,

je suis débutant en J2EE et j'ai réussi à faire des jsp et des beans avec connections à une BDD via une datasource déclarée dans mon appli.xml :

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
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/ws2350" reloadable="true" 
	docBase="D:\Projet Station Météo\Interface JAVA\Workspace Eclipse\ws2350" 
	workDir="D:\Projet Station Météo\Interface JAVA\Workspace Eclipse\ws2350\work" >
	<Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>
  <Realm className="org.apache.catalina.realm.JDBCRealm"
    connectionName="root"
    connectionPassword="xxx"
    connectionURL="jdbc:mysql://localhost/open2300"
    driverName="com.mysql.jdbc.Driver"
    roleNameCol="role_name"
    userCredCol="user_pass"
    userNameCol="user_name"
    userRoleTable="user_roles"
    userTable="users"/>
  <Resource
    name="jdbc/open2300"
    type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    maxIdle="2"
    maxWait="5000"
    validationQuery="select 1"
    username="root"
    password="xxx"
    url="jdbc:mysql://localhost/open2300"
    maxActive="4"/>
</Context>
Je voudrais utiliser ce fichier de conf pour pour répondre aux requêtes des clients Web via Tomcat, mais aussi lancer une appli java (avec un main() ) via un cron toutes les heures par exemple.

J'ai donc créé ma classe, mais dès que je cherche à récupérer ma connection,
je plante :

Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.rebind(Unknown Source)
at anthropo.station.meteo.affichage.ServletWindRose.createChart(ServletWindRose.java:71)
at anthropo.station.meteo.affichage.ServletWindRose.main(ServletWindRose.java:256)


J'ai essayé plein de choses glanées ci ou là sur le net.
Mais rien n'a fonctionné. comment récupérer le contexte ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
	    //Main code for creating charts
	    public static void createChart(String date1, String date2, String titre) throws NamingException
	  	{ 
	    	InitialContext envCtx = new InitialContext();
			DataSource ds = (DataSource)envCtx.lookup("java:comp/env/jdbc/open2300");
	    	Connection con=null;
			Statement s=null;
			ResultSet rs=null;
.../...
MERCI D'AVANCE - JE CRAQUE !!!!