You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by jleonar <jl...@gmail.com> on 2008/01/02 16:15:44 UTC
Re: Geronimo with Liferay library conflict
I added:
<dependency>
<groupId>xerces</groupId>
<artifactId>xerces</artifactId>
<version>2.8.0</version>
<type>jar</type>
</dependency>
The jar is in
c:\geronimo\repository\xerces\xercesImpl\2.8.0\xercesImp-2.8.0.jar
So I tried
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.8.0</version>
<type>jar</type>
</dependency>
Same issue, it is still using the xercesImpl2.6.2 in the /lib/endorsed
directory. the stacktrace I get is:
java.lang.AbstractMethodError:
javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V
org.opensaml.XML$ParserPool.<init>(Unknown Source)
org.opensaml.XML.<clinit>(Unknown Source)
org.opensaml.SAMLObject.fromStream(Unknown Source)
org.opensaml.SAMLResponse.<init>(Unknown Source)
If I replace the xerces in the /lib/endorsed with the correct version it
works but the console won't work.
-Jim
Jacek Laskowski wrote:
>
> On Dec 28, 2007 5:48 PM, jleonar <jl...@gmail.com> wrote:
>
>> "You could try putting xerces in the geronimo repo directly and having
>> a dependency to the jar: then the flags in your app's plan's
>> environment will work."
>>
>> I am not clear on what you mean here. I definitely could put it in the
>> geronimo repository but I am not sure how to setup liferay to then use it
>> in
>> the geronimo-web.xml
>
> Things are much easier to set up in the latest Geronimo 2.0.2 (or
> better yet Geronimo 2.1-SNAPSHOT), but if you need to stick with
> Geronimo 1.1 just add
>
> <dependency>
>
> <groupId>my.dir.name.under.repository</groupId>
> <artifactId>xerces</artifactId>
> <type>jar</type>
> </dependency>
>
> to your geronimo-web.xml and you're done.
>
> Jacek
>
> --
> Jacek Laskowski
> http://www.JacekLaskowski.pl
>
>
--
View this message in context: http://www.nabble.com/Geronimo-with-Liferay-library-conflict-tp14525371s134p14580002.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.
Re: question about MySql and Geronimo
Posted by Viet Nguyen <vh...@gmail.com>.
I forgot to mention that you can also generate the XML descriptor for
the DataSource through the admin console.
--Viet
On Jan 2, 2008 4:18 PM, jpmlpool <jp...@hotmail.com> wrote:
> Hi Viet,
>
> Thanks a lot for your prompt reply.
>
> Let me read the article and try it.
>
> John Qi
>
>
> ----- Original Message -----
> From: "Viet Nguyen" <vh...@gmail.com>
> To: <us...@geronimo.apache.org>
> Sent: Wednesday, January 02, 2008 12:13 PM
> Subject: Re: question about MySql and Geronimo
>
>
> > On Jan 2, 2008 12:40 PM, jpmlpool <jp...@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
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
>
>
Re: question about MySql and Geronimo
Posted by jpmlpool <jp...@hotmail.com>.
Hi Viet,
Thanks a lot for your prompt reply.
Let me read the article and try it.
John Qi
----- Original Message -----
From: "Viet Nguyen" <vh...@gmail.com>
To: <us...@geronimo.apache.org>
Sent: Wednesday, January 02, 2008 12:13 PM
Subject: Re: question about MySql and Geronimo
> On Jan 2, 2008 12:40 PM, jpmlpool <jp...@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
> >
> >
> >
> >
> >
> >
> >
> >
>
Re: question about MySql and Geronimo
Posted by Viet Nguyen <vh...@gmail.com>.
On Jan 2, 2008 12:40 PM, jpmlpool <jp...@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
>
>
>
>
>
>
>
>
Re: Questions about MySql and Geronimo
Posted by David Jencks <da...@yahoo.com>.
What is the plan for the database pool? I suspect you should be
looking up something like "java:comp/env/MyDataSource"
david jencks
On Jan 9, 2008, at 4:32 PM, jpmlpool wrote:
> Hi David,
>
> Thanks a lot for your help.
>
> I added the dependency to the geronimo-application.xml,
> and then the next code works fine.
>
> Class.forName("com.mysql.jdbc.Driver").newInstance();
> String url = "jdbc:mysql:///hellodb?user=root&password=hello";
> con = DriverManager.getConnection(url);
>
> stmt = con.createStatement();
> String sql = "SELECT * FROM PET";
> rs = stmt.executeQuery(sql);
> while (rs.next())
> {
> String name = this.getValue(rs, "NAME");
> }
>
> But the next code throws exception.
>
> InitialContext ctx = new InitialContext();
> ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MyDataSource");
> con = ds.getConnection("root", "hello");
>
> stmt = con.createStatement();
> String sql = "SELECT * FROM PET";
> rs = stmt.executeQuery(sql);
>
> I am trying to find out the reasons. Maybe I also need to
> modify web.xml
> and geronimo-web.xml.
>
> Now I have two ways to access MySql database. One way is to setup
> the EAR; another way is to setup WAR/web.xml and WAR/geronimo-web.xml.
>
> Anyway it is great progress that I can access MySql database.
> Thanks a lot.
>
>
> javax.naming.NotContextException: jdbc/MyDataSource
> at
> org.apache.xbean.naming.context.AbstractContext.lookup
> (AbstractContext.java:
> 167)
> at
> org.apache.xbean.naming.context.AbstractContext.lookup
> (AbstractContext.java:
> 617)
> at
> org.apache.xbean.naming.context.AbstractContext.lookup
> (AbstractContext.java:
> 158)
> at
> org.apache.xbean.naming.context.AbstractContext.lookup
> (AbstractContext.java:
> 617)
> at
> org.apache.xbean.naming.context.AbstractContext.lookup
> (AbstractContext.java:
> 158)
> at
> org.apache.xbean.naming.context.AbstractContext.lookup
> (AbstractContext.java:
> 603)
> at javax.naming.InitialContext.lookup(Unknown Source)
> at
> com.sn.web.db.mysql.demo.pet.ListPets.getConnectionByDataSource
> (ListPets.jav
> a:79)
> at
> com.sn.web.db.mysql.demo.pet.ListPets.LoadTableFromDatabase
> (ListPets.java:24
> 8)
> at com.sn.web.db.mysql.demo.pet.ListPets.LoadTable(ListPets.java:230)
> at com.sn.web.db.mysql.demo.pet.ListPets.doGet(ListPets.java:47)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (Application
> FilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterCh
> ain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke
> (StandardWrapperValve.ja
> va:230)
> at
> org.apache.catalina.core.StandardContextValve.invoke
> (StandardContextValve.ja
> va:175)
> at
> org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke
> (DefaultSubjectVa
> lve.java:56)
> at
> org.apache.geronimo.tomcat.GeronimoStandardContext
> $SystemMethodValve.invoke(
> GeronimoStandardContext.java:353)
> at
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke
> (GeronimoBef
> oreAfterValve.java:47)
> at
> org.apache.catalina.core.StandardHostValve.invoke
> (StandardHostValve.java:128
> )
> at
> org.apache.catalina.valves.ErrorReportValve.invoke
> (ErrorReportValve.java:104
> )
> at
> org.apache.catalina.core.StandardEngineValve.invoke
> (StandardEngineValve.java
> :109)
> at
> org.apache.catalina.valves.AccessLogValve.invoke
> (AccessLogValve.java:563)
> at
> org.apache.catalina.connector.CoyoteAdapter.service
> (CoyoteAdapter.java:261)
> at org.apache.jk.server.JkCoyoteHandler.invoke
> (JkCoyoteHandler.java:190)
> at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:
> 283)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> at
> org.apache.jk.common.ChannelSocket.processConnection
> (ChannelSocket.java:697)
> at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt
> (ChannelSocket.java
> :889)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (ThreadPool.jav
> a:686)
> at java.lang.Thread.run(Unknown Source)
>
>
>
> ----- Original Message -----
> From: "David Jencks" <da...@yahoo.com>
> To: <us...@geronimo.apache.org>
> Sent: Monday, January 07, 2008 12:04 PM
> Subject: Re: Questions about MySql and Geronimo
>
>
>
> On Jan 7, 2008, at 10:32 AM, jpmlpool wrote:
>
>>
>> Hello
>>
>> I am still struggling with Geronimo and MySql. I tried to change
>> the deploy plans following some articles, but I still can not access
>> MySql server from Geronimo.
>> Attached are related files, because I zipped Ear and War projects
>> created on Eclipse, but I cannot send it to this email address.
>>
>> If you know my errors, please help me. At the bottom is my
>> previous
>> email with more details.
>>
>> Environments or what I did
>> (1) Geronimo 2.0.2
>> (2) Database pool created from Geronimo Admin console
>> Database pool : QiMySql
>> Database : hellodb
>> a database Table : pet
>> (3) Eclipse 3.3.1 with WTP
>> (4) OS : Windows 2000
>> (5) SqlPetStoreEar and SqiPetStoreWar projects on Eclipse
>
> Your application needs a dependency on the database pool you have set
> up. Something like
>
> ====== SqlPetStoreEar/EarContent/METF-INF/geronimo-application.xml
> ======
>
> <?xml version="1.0" encoding="UTF-8"?>
> <application xmlns="http://geronimo.apache.org/xml/ns/j2ee/
> application-1.1"
> xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
> application-name="SqlPetStoreEar">
> <sys:environment>
> <sys:moduleId>
> <sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
> <sys:artifactId>MySqlPetStoreEarId</sys:artifactId>
> <sys:version>1.0</sys:version>
> <sys:type>ear</sys:type>
> </sys:moduleId>
> <sys:dependencies>
> <sys:dependency>
> <sys:groupId>console.dbpool</sys:groupId>
> <sys:artifactId>QiMySql</sys:artifactId>
> <sys:type>rar</sys:type>
> </sys:dependency>
> </sys:dependencies>
> </sys:environment>
>
> </application>
>
>
> You should check that the dependency matches what the console comes
> up with when it deploys the pool -- in particular I'm unsure of the
> type.
>
> Hope this helps
> david jencks
>
>>
>> John Qi
>>
>> =============================
>>
>>
>> ====== SqlPetStoreEar/EarContent/METF-INF/application.xml ======
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns="http://java.sun.com/xml/ns/javaee"
>> xmlns:application="http://java.sun.com/xml/ns/javaee/
>> application_5.xsd"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/application_5.xsd"
>> id="Application_ID"
>> version="5">
>> <module>
>> <web>
>> <web-uri>SqlPetStoreWar.war</web-uri>
>> <context-root>SqlPetStoreWar</context-root>
>> </web>
>> </module>
>> </application>
>>
>> ====== SqlPetStoreEar/EarContent/METF-INF/geronimo-application.xml
>> ======
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <application xmlns="http://geronimo.apache.org/xml/ns/j2ee/
>> application-1.1"
>> xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
>> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
>> application-name="SqlPetStoreEar">
>> <sys:environment>
>> <sys:moduleId>
>> <sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
>> <sys:artifactId>MySqlPetStoreEarId</sys:artifactId>
>> <sys:version>1.0</sys:version>
>> <sys:type>ear</sys:type>
>> </sys:moduleId>
>> </sys:environment>
>>
>> </application>
>>
>> ====== SqlPetStoreWar/WebContent/WEB-INF/geronimo-web.xml ======
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
>> xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1"
>> xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
>> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1">
>> <sys:environment>
>> <sys:moduleId>
>> <sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
>> <sys:artifactId>SqlPetStoreWarId</sys:artifactId>
>> <sys:version>1.0</sys:version>
>> <sys:type>war</sys:type>
>> </sys:moduleId>
>>
>>
>> </sys:environment>
>>
>> <context-root>/SqlPetStoreWar</context-root>
>>
>> </web-app>
>>
>> ====== SqlPetStoreWar/EarContent/WEB-INF/web.xml ======
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns="http://java.sun.com/xml/ns/javaee"
>> xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
>> version="2.5">
>> <display-name>SqlPetStoreWar</display-name>
>> <welcome-file-list>
>> <welcome-file>index.html</welcome-file>
>> <welcome-file>index.jsp</welcome-file>
>> </welcome-file-list>
>> <servlet>
>> <description></description>
>> <display-name>ListPets</display-name>
>> <servlet-name>ListPets</servlet-name>
>> <servlet-class>com.sn.web.db.mysql.demo.pet.ListPets</servlet-
>> class>
>> </servlet>
>> <servlet-mapping>
>> <servlet-name>ListPets</servlet-name>
>> <url-pattern>/ListPets</url-pattern>
>> </servlet-mapping>
>>
>> </web-app>
>>
>> ================ ListPets.java ===============
>>
>> protected void doGet(HttpServletRequest request, HttpServletResponse
>> response) throws ServletException, IOException
>> {
>> // TODO Auto-generated method stub
>> this.getPets(request, response);
>> }
>>
>> private void getPets(HttpServletRequest request,
>> HttpServletResponse
>> response)
>> {
>> Statement stmt = null;
>> ResultSet rs = null;
>>
>> try
>> {
>> InitialContext ctx = new InitialContext();
>> // error : can not find this data source
>> DataSource ds = (DataSource)ctx.lookup("java:comp/env/QiMySql");
>>
>> // error : this line does not work on Geronimo, but works fine
>> in java
>> application.
>> Class.forName("com.mysql.jdbc.Driver").newInstance();
>>
>> String url = "jdbc:mysql:///hellodb?user=root&password=hello";
>> Connection con = DriverManager.getConnection(url);
>>
>> stmt = con.createStatement();
>> String sql = "SELECT * FROM PET";
>> rs = stmt.executeQuery(sql);
>> while (rs.next())
>> {
>> String no = rs.getString("NAME");
>> String lang = rs.getString("OWNER");
>> String msg = rs.getString("SEX");
>> System.out.println(no + " " + lang + " " + msg);
>> }
>> stmt.close();
>> con.close();
>> }
>> catch (Exception e)
>> {
>> e.printStackTrace();
>> }
>> finally
>> {
>> if (rs != null)
>> {
>> try
>> {
>> rs.close();
>> }
>> catch (SQLException sqlEx)
>> {
>> }
>> }
>>
>> if (stmt != null)
>> {
>> try
>> {
>> stmt.close();
>> }
>> catch (SQLException sqlEx)
>> {
>> }
>> }
>>
>> rs = null;
>> stmt = null;
>> }
>>
>> }
>>
>> =============================
>>
>>
>> ----- Original Message -----
>> From: "jpmlpool" <jp...@hotmail.com>
>> To: <us...@geronimo.apache.org>
>> Sent: Wednesday, January 02, 2008 9:40 AM
>> Subject: question about MySql and Geronimo
>>
>>
>>> 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.loadOptimize
>> d
>> Class(
>>> 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)
>>>
>>> .....
>>>
>>>
>>>
>>> Do you have any ideas ?
>>>
>>>
>>>
>>> Thanks in advance.
>>>
>>>
>>>
>>> John Qi
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>
>
Re: Questions about MySql and Geronimo
Posted by jpmlpool <jp...@hotmail.com>.
Hi David,
Thanks a lot for your help.
I added the dependency to the geronimo-application.xml,
and then the next code works fine.
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql:///hellodb?user=root&password=hello";
con = DriverManager.getConnection(url);
stmt = con.createStatement();
String sql = "SELECT * FROM PET";
rs = stmt.executeQuery(sql);
while (rs.next())
{
String name = this.getValue(rs, "NAME");
}
But the next code throws exception.
InitialContext ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MyDataSource");
con = ds.getConnection("root", "hello");
stmt = con.createStatement();
String sql = "SELECT * FROM PET";
rs = stmt.executeQuery(sql);
I am trying to find out the reasons. Maybe I also need to modify web.xml
and geronimo-web.xml.
Now I have two ways to access MySql database. One way is to setup
the EAR; another way is to setup WAR/web.xml and WAR/geronimo-web.xml.
Anyway it is great progress that I can access MySql database.
Thanks a lot.
javax.naming.NotContextException: jdbc/MyDataSource
at
org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:
167)
at
org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:
617)
at
org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:
158)
at
org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:
617)
at
org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:
158)
at
org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:
603)
at javax.naming.InitialContext.lookup(Unknown Source)
at
com.sn.web.db.mysql.demo.pet.ListPets.getConnectionByDataSource(ListPets.jav
a:79)
at
com.sn.web.db.mysql.demo.pet.ListPets.LoadTableFromDatabase(ListPets.java:24
8)
at com.sn.web.db.mysql.demo.pet.ListPets.LoadTable(ListPets.java:230)
at com.sn.web.db.mysql.demo.pet.ListPets.doGet(ListPets.java:47)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)
at
org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectVa
lve.java:56)
at
org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(
GeronimoStandardContext.java:353)
at
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBef
oreAfterValve.java:47)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104
)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java
:889)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:686)
at java.lang.Thread.run(Unknown Source)
----- Original Message -----
From: "David Jencks" <da...@yahoo.com>
To: <us...@geronimo.apache.org>
Sent: Monday, January 07, 2008 12:04 PM
Subject: Re: Questions about MySql and Geronimo
On Jan 7, 2008, at 10:32 AM, jpmlpool wrote:
>
> Hello
>
> I am still struggling with Geronimo and MySql. I tried to change
> the deploy plans following some articles, but I still can not access
> MySql server from Geronimo.
> Attached are related files, because I zipped Ear and War projects
> created on Eclipse, but I cannot send it to this email address.
>
> If you know my errors, please help me. At the bottom is my
> previous
> email with more details.
>
> Environments or what I did
> (1) Geronimo 2.0.2
> (2) Database pool created from Geronimo Admin console
> Database pool : QiMySql
> Database : hellodb
> a database Table : pet
> (3) Eclipse 3.3.1 with WTP
> (4) OS : Windows 2000
> (5) SqlPetStoreEar and SqiPetStoreWar projects on Eclipse
Your application needs a dependency on the database pool you have set
up. Something like
====== SqlPetStoreEar/EarContent/METF-INF/geronimo-application.xml
======
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/
application-1.1"
xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
application-name="SqlPetStoreEar">
<sys:environment>
<sys:moduleId>
<sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
<sys:artifactId>MySqlPetStoreEarId</sys:artifactId>
<sys:version>1.0</sys:version>
<sys:type>ear</sys:type>
</sys:moduleId>
<sys:dependencies>
<sys:dependency>
<sys:groupId>console.dbpool</sys:groupId>
<sys:artifactId>QiMySql</sys:artifactId>
<sys:type>rar</sys:type>
</sys:dependency>
</sys:dependencies>
</sys:environment>
</application>
You should check that the dependency matches what the console comes
up with when it deploys the pool -- in particular I'm unsure of the
type.
Hope this helps
david jencks
>
> John Qi
>
> =============================
>
>
> ====== SqlPetStoreEar/EarContent/METF-INF/application.xml ======
>
> <?xml version="1.0" encoding="UTF-8"?>
> <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:application="http://java.sun.com/xml/ns/javaee/
> application_5.xsd"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/application_5.xsd"
> id="Application_ID"
> version="5">
> <module>
> <web>
> <web-uri>SqlPetStoreWar.war</web-uri>
> <context-root>SqlPetStoreWar</context-root>
> </web>
> </module>
> </application>
>
> ====== SqlPetStoreEar/EarContent/METF-INF/geronimo-application.xml
> ======
>
> <?xml version="1.0" encoding="UTF-8"?>
> <application xmlns="http://geronimo.apache.org/xml/ns/j2ee/
> application-1.1"
> xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
> application-name="SqlPetStoreEar">
> <sys:environment>
> <sys:moduleId>
> <sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
> <sys:artifactId>MySqlPetStoreEarId</sys:artifactId>
> <sys:version>1.0</sys:version>
> <sys:type>ear</sys:type>
> </sys:moduleId>
> </sys:environment>
>
> </application>
>
> ====== SqlPetStoreWar/WebContent/WEB-INF/geronimo-web.xml ======
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
> xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1"
> xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1">
> <sys:environment>
> <sys:moduleId>
> <sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
> <sys:artifactId>SqlPetStoreWarId</sys:artifactId>
> <sys:version>1.0</sys:version>
> <sys:type>war</sys:type>
> </sys:moduleId>
>
>
> </sys:environment>
>
> <context-root>/SqlPetStoreWar</context-root>
>
> </web-app>
>
> ====== SqlPetStoreWar/EarContent/WEB-INF/web.xml ======
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
> version="2.5">
> <display-name>SqlPetStoreWar</display-name>
> <welcome-file-list>
> <welcome-file>index.html</welcome-file>
> <welcome-file>index.jsp</welcome-file>
> </welcome-file-list>
> <servlet>
> <description></description>
> <display-name>ListPets</display-name>
> <servlet-name>ListPets</servlet-name>
> <servlet-class>com.sn.web.db.mysql.demo.pet.ListPets</servlet-
> class>
> </servlet>
> <servlet-mapping>
> <servlet-name>ListPets</servlet-name>
> <url-pattern>/ListPets</url-pattern>
> </servlet-mapping>
>
> </web-app>
>
> ================ ListPets.java ===============
>
> protected void doGet(HttpServletRequest request, HttpServletResponse
> response) throws ServletException, IOException
> {
> // TODO Auto-generated method stub
> this.getPets(request, response);
> }
>
> private void getPets(HttpServletRequest request, HttpServletResponse
> response)
> {
> Statement stmt = null;
> ResultSet rs = null;
>
> try
> {
> InitialContext ctx = new InitialContext();
> // error : can not find this data source
> DataSource ds = (DataSource)ctx.lookup("java:comp/env/QiMySql");
>
> // error : this line does not work on Geronimo, but works fine
> in java
> application.
> Class.forName("com.mysql.jdbc.Driver").newInstance();
>
> String url = "jdbc:mysql:///hellodb?user=root&password=hello";
> Connection con = DriverManager.getConnection(url);
>
> stmt = con.createStatement();
> String sql = "SELECT * FROM PET";
> rs = stmt.executeQuery(sql);
> while (rs.next())
> {
> String no = rs.getString("NAME");
> String lang = rs.getString("OWNER");
> String msg = rs.getString("SEX");
> System.out.println(no + " " + lang + " " + msg);
> }
> stmt.close();
> con.close();
> }
> catch (Exception e)
> {
> e.printStackTrace();
> }
> finally
> {
> if (rs != null)
> {
> try
> {
> rs.close();
> }
> catch (SQLException sqlEx)
> {
> }
> }
>
> if (stmt != null)
> {
> try
> {
> stmt.close();
> }
> catch (SQLException sqlEx)
> {
> }
> }
>
> rs = null;
> stmt = null;
> }
>
> }
>
> =============================
>
>
> ----- Original Message -----
> From: "jpmlpool" <jp...@hotmail.com>
> To: <us...@geronimo.apache.org>
> Sent: Wednesday, January 02, 2008 9:40 AM
> Subject: question about MySql and Geronimo
>
>
>> 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.loadOptimized
> Class(
>> 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)
>>
>> .....
>>
>>
>>
>> Do you have any ideas ?
>>
>>
>>
>> Thanks in advance.
>>
>>
>>
>> John Qi
>>
>>
>>
>>
>>
>>
>>
>>
>
Re: Questions about MySql and Geronimo
Posted by David Jencks <da...@yahoo.com>.
On Jan 7, 2008, at 10:32 AM, jpmlpool wrote:
>
> Hello
>
> I am still struggling with Geronimo and MySql. I tried to change
> the deploy plans following some articles, but I still can not access
> MySql server from Geronimo.
> Attached are related files, because I zipped Ear and War projects
> created on Eclipse, but I cannot send it to this email address.
>
> If you know my errors, please help me. At the bottom is my
> previous
> email with more details.
>
> Environments or what I did
> (1) Geronimo 2.0.2
> (2) Database pool created from Geronimo Admin console
> Database pool : QiMySql
> Database : hellodb
> a database Table : pet
> (3) Eclipse 3.3.1 with WTP
> (4) OS : Windows 2000
> (5) SqlPetStoreEar and SqiPetStoreWar projects on Eclipse
Your application needs a dependency on the database pool you have set
up. Something like
====== SqlPetStoreEar/EarContent/METF-INF/geronimo-application.xml
======
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/
application-1.1"
xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
application-name="SqlPetStoreEar">
<sys:environment>
<sys:moduleId>
<sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
<sys:artifactId>MySqlPetStoreEarId</sys:artifactId>
<sys:version>1.0</sys:version>
<sys:type>ear</sys:type>
</sys:moduleId>
<sys:dependencies>
<sys:dependency>
<sys:groupId>console.dbpool</sys:groupId>
<sys:artifactId>QiMySql</sys:artifactId>
<sys:type>rar</sys:type>
</sys:dependency>
</sys:dependencies>
</sys:environment>
</application>
You should check that the dependency matches what the console comes
up with when it deploys the pool -- in particular I'm unsure of the
type.
Hope this helps
david jencks
>
> John Qi
>
> =============================
>
>
> ====== SqlPetStoreEar/EarContent/METF-INF/application.xml ======
>
> <?xml version="1.0" encoding="UTF-8"?>
> <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:application="http://java.sun.com/xml/ns/javaee/
> application_5.xsd"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/application_5.xsd"
> id="Application_ID"
> version="5">
> <module>
> <web>
> <web-uri>SqlPetStoreWar.war</web-uri>
> <context-root>SqlPetStoreWar</context-root>
> </web>
> </module>
> </application>
>
> ====== SqlPetStoreEar/EarContent/METF-INF/geronimo-application.xml
> ======
>
> <?xml version="1.0" encoding="UTF-8"?>
> <application xmlns="http://geronimo.apache.org/xml/ns/j2ee/
> application-1.1"
> xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
> application-name="SqlPetStoreEar">
> <sys:environment>
> <sys:moduleId>
> <sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
> <sys:artifactId>MySqlPetStoreEarId</sys:artifactId>
> <sys:version>1.0</sys:version>
> <sys:type>ear</sys:type>
> </sys:moduleId>
> </sys:environment>
>
> </application>
>
> ====== SqlPetStoreWar/WebContent/WEB-INF/geronimo-web.xml ======
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
> xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1"
> xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1">
> <sys:environment>
> <sys:moduleId>
> <sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
> <sys:artifactId>SqlPetStoreWarId</sys:artifactId>
> <sys:version>1.0</sys:version>
> <sys:type>war</sys:type>
> </sys:moduleId>
>
>
> </sys:environment>
>
> <context-root>/SqlPetStoreWar</context-root>
>
> </web-app>
>
> ====== SqlPetStoreWar/EarContent/WEB-INF/web.xml ======
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
> version="2.5">
> <display-name>SqlPetStoreWar</display-name>
> <welcome-file-list>
> <welcome-file>index.html</welcome-file>
> <welcome-file>index.jsp</welcome-file>
> </welcome-file-list>
> <servlet>
> <description></description>
> <display-name>ListPets</display-name>
> <servlet-name>ListPets</servlet-name>
> <servlet-class>com.sn.web.db.mysql.demo.pet.ListPets</servlet-
> class>
> </servlet>
> <servlet-mapping>
> <servlet-name>ListPets</servlet-name>
> <url-pattern>/ListPets</url-pattern>
> </servlet-mapping>
>
> </web-app>
>
> ================ ListPets.java ===============
>
> protected void doGet(HttpServletRequest request, HttpServletResponse
> response) throws ServletException, IOException
> {
> // TODO Auto-generated method stub
> this.getPets(request, response);
> }
>
> private void getPets(HttpServletRequest request, HttpServletResponse
> response)
> {
> Statement stmt = null;
> ResultSet rs = null;
>
> try
> {
> InitialContext ctx = new InitialContext();
> // error : can not find this data source
> DataSource ds = (DataSource)ctx.lookup("java:comp/env/QiMySql");
>
> // error : this line does not work on Geronimo, but works fine
> in java
> application.
> Class.forName("com.mysql.jdbc.Driver").newInstance();
>
> String url = "jdbc:mysql:///hellodb?user=root&password=hello";
> Connection con = DriverManager.getConnection(url);
>
> stmt = con.createStatement();
> String sql = "SELECT * FROM PET";
> rs = stmt.executeQuery(sql);
> while (rs.next())
> {
> String no = rs.getString("NAME");
> String lang = rs.getString("OWNER");
> String msg = rs.getString("SEX");
> System.out.println(no + " " + lang + " " + msg);
> }
> stmt.close();
> con.close();
> }
> catch (Exception e)
> {
> e.printStackTrace();
> }
> finally
> {
> if (rs != null)
> {
> try
> {
> rs.close();
> }
> catch (SQLException sqlEx)
> {
> }
> }
>
> if (stmt != null)
> {
> try
> {
> stmt.close();
> }
> catch (SQLException sqlEx)
> {
> }
> }
>
> rs = null;
> stmt = null;
> }
>
> }
>
> =============================
>
>
> ----- Original Message -----
> From: "jpmlpool" <jp...@hotmail.com>
> To: <us...@geronimo.apache.org>
> Sent: Wednesday, January 02, 2008 9:40 AM
> Subject: question about MySql and Geronimo
>
>
>> 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.loadOptimized
> Class(
>> 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)
>>
>> .....
>>
>>
>>
>> Do you have any ideas ?
>>
>>
>>
>> Thanks in advance.
>>
>>
>>
>> John Qi
>>
>>
>>
>>
>>
>>
>>
>>
>
Questions about MySql and Geronimo
Posted by jpmlpool <jp...@hotmail.com>.
Hello
I am still struggling with Geronimo and MySql. I tried to change
the deploy plans following some articles, but I still can not access
MySql server from Geronimo.
Attached are related files, because I zipped Ear and War projects
created on Eclipse, but I cannot send it to this email address.
If you know my errors, please help me. At the bottom is my previous
email with more details.
Environments or what I did
(1) Geronimo 2.0.2
(2) Database pool created from Geronimo Admin console
Database pool : QiMySql
Database : hellodb
a database Table : pet
(3) Eclipse 3.3.1 with WTP
(4) OS : Windows 2000
(5) SqlPetStoreEar and SqiPetStoreWar projects on Eclipse
John Qi
=============================
====== SqlPetStoreEar/EarContent/METF-INF/application.xml ======
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/application_5.xsd" id="Application_ID"
version="5">
<module>
<web>
<web-uri>SqlPetStoreWar.war</web-uri>
<context-root>SqlPetStoreWar</context-root>
</web>
</module>
</application>
====== SqlPetStoreEar/EarContent/METF-INF/geronimo-application.xml ======
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.1"
xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
application-name="SqlPetStoreEar">
<sys:environment>
<sys:moduleId>
<sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
<sys:artifactId>MySqlPetStoreEarId</sys:artifactId>
<sys:version>1.0</sys:version>
<sys:type>ear</sys:type>
</sys:moduleId>
</sys:environment>
</application>
====== SqlPetStoreWar/WebContent/WEB-INF/geronimo-web.xml ======
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1"
xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1">
<sys:environment>
<sys:moduleId>
<sys:groupId>com.sn.web.db.mysql.demo.pet</sys:groupId>
<sys:artifactId>SqlPetStoreWarId</sys:artifactId>
<sys:version>1.0</sys:version>
<sys:type>war</sys:type>
</sys:moduleId>
</sys:environment>
<context-root>/SqlPetStoreWar</context-root>
</web-app>
====== SqlPetStoreWar/EarContent/WEB-INF/web.xml ======
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
version="2.5">
<display-name>SqlPetStoreWar</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>ListPets</display-name>
<servlet-name>ListPets</servlet-name>
<servlet-class>com.sn.web.db.mysql.demo.pet.ListPets</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ListPets</servlet-name>
<url-pattern>/ListPets</url-pattern>
</servlet-mapping>
</web-app>
================ ListPets.java ===============
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException
{
// TODO Auto-generated method stub
this.getPets(request, response);
}
private void getPets(HttpServletRequest request, HttpServletResponse
response)
{
Statement stmt = null;
ResultSet rs = null;
try
{
InitialContext ctx = new InitialContext();
// error : can not find this data source
DataSource ds = (DataSource)ctx.lookup("java:comp/env/QiMySql");
// error : this line does not work on Geronimo, but works fine in java
application.
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql:///hellodb?user=root&password=hello";
Connection con = DriverManager.getConnection(url);
stmt = con.createStatement();
String sql = "SELECT * FROM PET";
rs = stmt.executeQuery(sql);
while (rs.next())
{
String no = rs.getString("NAME");
String lang = rs.getString("OWNER");
String msg = rs.getString("SEX");
System.out.println(no + " " + lang + " " + msg);
}
stmt.close();
con.close();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (rs != null)
{
try
{
rs.close();
}
catch (SQLException sqlEx)
{
}
}
if (stmt != null)
{
try
{
stmt.close();
}
catch (SQLException sqlEx)
{
}
}
rs = null;
stmt = null;
}
}
=============================
----- Original Message -----
From: "jpmlpool" <jp...@hotmail.com>
To: <us...@geronimo.apache.org>
Sent: Wednesday, January 02, 2008 9:40 AM
Subject: question about MySql and Geronimo
> 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)
>
> .....
>
>
>
> Do you have any ideas ?
>
>
>
> Thanks in advance.
>
>
>
> John Qi
>
>
>
>
>
>
>
>
question about MySql and Geronimo
Posted by jpmlpool <jp...@hotmail.com>.
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)
.....
Do you have any ideas ?
Thanks in advance.
John Qi