geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Viet Nguyen" <vhng...@gmail.com>
Subject Re: question about MySql and Geronimo
Date Wed, 02 Jan 2008 20:13:08 GMT
On Jan 2, 2008 12:40 PM, jpmlpool <jpmlpool@hotmail.com> wrote:
> Happy New Year !
>
>     What I want to do are
> (1) when I start Geronimo, MySql server is started automatically by
> Geronimo.
> (2) I can access MySql,  just like now I can access Derby.
> (3) if possible, for example, there are two Derbys and two MySqls, I can
>      access them for different purpose. I do not know if this is possible,
> if
>      possible, HOW TO DO.
>
>     What I did are
> (1) downloaded MySql 5.0.54 and installed it. (OK)
> (2) from console I can access the MySql. (OK)
>
> mysql> show tables;
>
> +-------------------+
>
> | Tables_in_hellodb |
>
> +-------------------+
>
> | pet            |
>
> | wishtable      |
>
> +-------------------+
>
> 2 rows in set (0.00 sec)
>
>
>
> mysql> SELECT * FROM pet;
>
> +----------+-------+---------+------+------------+------------+
>
> | name      | owner | species | sex  | birth        | death      |
>
> +----------+-------+---------+------+------------+------------+
>
> | Fluffy   |         | Harold  | c    | 0000-00-00 | 1993-02-04 |
>
> | Claws    |         | Gwen    | c    | 0000-00-00 | 1994-03-17 |
>
> | Buffy    |         | Harold  | d    | 0000-00-00 | 1989-05-13 |
>
> | Fang     |         | Benny   | d    | 0000-00-00 | 1990-08-27 |
>
> | Bowser   |         | Diane   | d    | 0000-00-00 | 1979-08-31 |
>
> | Chirpy   |         | Gwen    | b    | 0000-00-00 | 1998-09-11 |
>
> | Whistler | Gwen    | bird    |      | 1997-12-09 | NULL       |
>
> | Slim     |         | Benny   | s    | 0000-00-00 | 1996-04-29 |
>
> +----------+-------+---------+------+------------+------------+
>
> 8 rows in set (0.00 sec)
>
>
>
> (3) downloaded the MySql driver mysql-connector-java-3.1.12.jar
>
>      through Geronimo's console.
>
>      the driver is placed in repository\mysql\mysql-connector-java\3.1.12
>
>
>
> (4) From Eclipse I created a Java Application, and I can
>
>      access the MySql using Java code below. The results are correct.
>
>
>
>      Class.forName("com.mysql.jdbc.Driver").newInstance();
>
>      String url = "jdbc:mysql:///hellodb?user=abc&password=xyz";
>      Connection con = DriverManager.getConnection(url);
>
>
>
> (5) I created a Dynamic web project and a servlet, and used the
>
>      same code in the servlet as above, but I got next error message.
>
>
>
> java.lang.ClassNotFoundException: com.mysql.jdbc.Driver in classloader
> com.sn.web.db.mysql.demo.pet/SqlDemoPetStoreId/1.0/war
>  at
> org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedClass(
> MultiParentClassLoader.java:428)
>  at
> org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiPare
> ntClassLoader.java:278)
>  at java.lang.ClassLoader.loadClass(Unknown Source)
>  at java.lang.ClassLoader.loadClassInternal(Unknown Source)
>  at java.lang.Class.forName0(Native Method)
>  at java.lang.Class.forName(Unknown Source)
>  at com.sn.web.db.mysql.demo.pet.ListPets.getPets(ListPets.java:82)
>  at com.sn.web.db.mysql.demo.pet.ListPets.doGet(ListPets.java:43)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>
I think the reason the class is not found is because you did not set a
dependency on the MySQL driver in your application. You can do this in
your geronimo-web.xml.  However, it is better if you used a DataSource
to connect to the respective DBs. This way, you do not have to
hardcode the driver classname and the connection url in your
application code. For an example of how to do this, visit
http://cwiki.apache.org/GMOxDOC20/simple-database-access-sample-application.html.

Once you write the xml descriptor that defines the datasource, you
just need to inject it into your source code through annotations or
some more xml configuration.

Since each datasource defines a connection to a database, you can have
multiple datasources to connect to multiple different types of
databases.

Hope this helps,
Viet
> .....
>
>
>
> Do you have any ideas ?
>
>
>
> Thanks in advance.
>
>
>
> John Qi
>
>
>
>
>
>
>
>

Mime
View raw message