Récupérer les parametres de context.xml depuis une appli JAVA
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:
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:
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 !!!!