tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Smith <d...@cornell.edu>
Subject Re: problem with Tomcat 5.5.17, Axis 2, MySQL 3.1.12, JNDI
Date Thu, 12 Jul 2007 09:59:27 GMT
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: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>


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


Mime
View raw message