Hi David !! :

 Many thanks for your advices. I've tried it. I've dropped the
context definition in my server.xml (i'd put it there after reading
this tutorial 
http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html
in the Tomcat docs), i've fixed the port number in my
"axis2/META-INF/context.xml file" and dropped the "autoReconnect"
paramater, adding validationQuery="select 1" to my Resource element.

 After that changes, i've removed the Tomcat logs and reboot Tomcat.
Then I've  tried the web service, getting this new Exception message :

 Cannot create JDBC driver of class '' for connect URL 'null'


 Then I've read the Tomcat logs looking for ideas about what [EMAIL PROTECTED]&
is going wrong with this, but I've not found any information that help
to discover what's happening. Any new ideas about what's going on or
about how to find the problem?

 Many thanks again by spending your (sure precious) time with this.






2007/7/12, David Smith <[EMAIL PROTECTED]>:
I'd recommend dropping the context definition in your server.xml.  Under
normal conditions you should never have to modify that file except to
alter server-wide settings like which ports it listens on.

Also looking at your axis2/META-INF/context.xml file, I see the port
number is incorrect.

Lastly, I would recommend you drop the autoReconnect parameter of your
database url and add validationQuery="select 1" to your Resource
element.  Autoreconnect is of minimal usefullness and validationQuery
can test the db connection before your app attemps to use it.

--David

albert quinn wrote:
> Hi ! :
>
>  First of all : excuse my poor english. Second : I'm trying to set up
> a MySQL connection pool on Tomcat 5.5.17 (running over Windows XP) to
> connect to a remote DB from a web service running on the Axis 2
> deployed in Tomcat. I've read the Tomcat docs and the Tomcat mailing
> lists but i've not founded any answers that help me to fix the
> problem. I've this in my "conf\server.xml" :
>
>
> .....
>           <Context docBase="axis2" path="C:\Archivos de
> programa\Apache Software Foundation\Tomcat 5.5\webapps\axis2"
> reloadable="true">
>
>                <Resource auth="Container" driverClassName="
> com.mysql.jdbc.Driver" maxActive="100" maxIdle="30" maxWait="10000"
> name="java:comp/env/jdbc/DB" password="mypassword"
> type="javax.sql.DataSource"
> url="jdbc:mysql://remoteaddress.com:3306/db?autoReconnect=true"
> username="myname"/>
>
>           </Context>
>      </Host>
>
> ....
>
>
> I've this "C:\Archivos de programa\Apache Software Foundation\Tomcat
> 5.5\webapps\axis2\META-INF\context.xml " file :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <Context>
>
>    <WatchedResource>WEB-INF/web.xml</WatchedResource>
>
>      <Resource auth="Container" driverClassName="
> com.mysql.jdbc.Driver" maxActive="100" maxIdle="30" maxWait="10000"
> name="jdbc/DB" password="mypassword" type="javax.sql.DataSource"
> url="jdbc:mysql://remoteaddress.com:3036/db?autoReconnect=true"
> username="myname"/>
>
> </Context>
>
> I've these lines in "C:\Archivos de programa\Apache Software
> Foundation\Tomcat 5.5\webapps\axis2\WEB-INF\web.xml"
>
>    <resource-ref>
>        <description>
>            a description
>        </description>
>        <res-ref-name>
>            jdbc/DB
>        </res-ref-name>
>        <res-type>
>            javax.sql.DataSource
>        </res-type>
>        <res-auth>
>            Container
>        </res-auth>
>    </resource-ref>
>
>  When i call the web service running on Axis 2, after a long time i
> get the next Exception message :
>
> Cannot create PoolableConnectionFactory (Server connection failure
> during transaction. Due to underlying exception:
> 'java.net.SocketException: java.net.NoRouteToHostException: No route
> to host: connect'.
>
> ** BEGIN NESTED EXCEPTION **
>
> java.net.SocketException
> MESSAGE: java.net.NoRouteToHostException: No route to host: connect
>
> STACKTRACE:
>
> java.net.SocketException: java.net.NoRouteToHostException: No route to
> host: connect
>
>    at
> com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
>
>
>    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
>
>    at com.mysql.jdbc.Connection.createNewIO(Connection.java :2680)
>
>    at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
>
>    at
> com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
>
>
>    at
> org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection
> (DriverConnectionFactory.java:37)
>
>    at
> 
org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
>
>
>    at
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory
> (BasicDataSource.java:877)
>
>    at
> 
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
>
>
>    at
> 
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
>
>
>    at code.prueba.PruebaBD.getUserLogin(PruebaBD.java:20)
>
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>
>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>
>    at java.lang.reflect.Method.invoke(Unknown Source)
>
>    at
> 
org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java
>
> :91)
>
>    at
> 
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39)
>
>
>    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:144)
>
>    at
> 
org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:122)
>
>
>    at
> 
org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:116)
>
>
>    at
> 
org.apache.axis2.transport.http.AxisServlet$ProcessRESTRequest.processURLRequest
>
> (AxisServlet.java:776)
>
>    at
> org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:238)
>
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>
>    at javax.servlet.http.HttpServlet.service (HttpServlet.java:802)
>
>    at
> 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>
>
>    at
> 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java
>
> :173)
>
>    at
> 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>
>
>    at
> 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>
>
>    at org.apache.catalina.core.StandardHostValve.invoke
> (StandardHostValve.java:126)
>
>    at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>
>
>    at
> 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>
>
>    at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>
>
>    at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>
>
>    at
> 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
>
> (Http11BaseProtocol.java:664)
>
>    at
> 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>
>
>    at
> 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java
>
> :80)
>
>    at
> 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>
>
>    at java.lang.Thread.run(Unknown Source)
>
>
>
> ** END NESTED EXCEPTION **
>
>
> Attempted reconnect 3 times. Giving up.)
>
>
>  I've tried to turn it off the FireWall, but i've got the same
> Exception message.  The lines in the web service are :
>
>
>            Context oContext = new InitialContext();
>            DataSource oDataSource = (DataSource)
> oContext.lookup("java:comp/env/jdbc/DB");
>            Connection oConnection = oDataSource.getConnection();
>
>  I've tried to modify the web service to connect to the DB using the
> JDBC Driver directly with :
>
>
>            Class jdbcDriverClass = Class.forName(
> "com.mysql.jdbc.Driver" );
>            Driver oDriver = (Driver) jdbcDriverClass.newInstance();
>            DriverManager.registerDriver(oDriver);
>            Connection oConnection =
> 
DriverManager.getConnection("jdbc:mysql://remoteaddress.com:3306/db","myname","mypassword");
>
>
>  That way i can connect to the remote database without problems. Of
> course i've the mysql jar in the Tomcat's "common\lib" directory. But
> after many hours of reading and trying and knocking on heaven's door
> (hard, with the head!! ;)  i've no idea of what is happening, even
> worse... i've no idea of what to do to find the problem. Does anybody
> have any idea to help me to discover where is the problem? Many thanks
> to anybody who help!!!!
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to