There’s been discussion and interest by GeoNetwork users and supporters in getting the Open Archive Initiative Protocol for Metadata Harvesting (OAI-PMH) added as an interface to the GeoNetwork catalog. This would be an alternative interface to the catalog that lives next to the Z39.50 and CSW interfaces.
In OSGEO (osgeo.org) a discussion and work has been started on OAI-MHP and Stefan Keller wrote a good overview of requirements, models and implementations for this protocol.
Through this email I hope to stimulate the discussion and maybe trigger interest to start working on implementing this in GeoNetwork
Maybe some cross-fertilization between the GeoNetwork and geodata groups is also triggered through this email!
I am running the Geonetwork cvs version on my two computers for testing, one on windows XP(Tomcat5.5,Mysql5.0.20), the other on FC5(Tomcat5.5, Mysql5.1). Every time I start Mysql and then start tomcat, and browse the geonetwork, it's running well. But after about one hour more or less, something comes into wrong with database connection. The problem exist both on windows and FC5. This problem also occurs when I restart Mysql without restarting Tomcat. I find the error message in log file as following, and google the problem and find a link perhaps related to this: http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-troubleshooting.html#qandaitem-24-3-5-3-4 , but I don't know if there are anyone else meet this problem and how to fix it, would you please help me with it? Thank you very much in advance.
Enri
------------------------------------------------------------------------------------------------------
2006-09-01 13:09:34,296 ERROR [jeeves.service] - Exception executing gui service : java.sql.SQLException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:
** BEGIN NESTED EXCEPTION **
com.mysql.jdbc.CommunicationsException
MESSAGE: Communications link failure due to underlying exception:
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2739)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1581)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3004)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1128)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1222)
at jeeves.resources.dbms.Dbms.executeQuery(Dbms.java:372)
at jeeves.resources.dbms.Dbms.select(Dbms.java:145)
at org.fao.geonet.guiservices.categories.Get.exec(Get.java:52)
at jeeves.server.dispatchers.guiservices.Call.exec(Call.java:75)
at jeeves.server.dispatchers.AbstractPage.invokeGuiService(AbstractPage.java:119)
at jeeves.server.dispatchers.AbstractPage.invokeGuiServices(AbstractPage.java:104)
at jeeves.server.dispatchers.ServiceManager.dispatchOutput(ServiceManager.java:579)
at jeeves.server.dispatchers.ServiceManager.dispatch(ServiceManager.java:382)
at jeeves.server.JeevesEngine.dispatch(JeevesEngine.java:608)
at jeeves.server.sources.http.JeevesServlet.execute(JeevesServlet.java:171)
at jeeves.server.sources.http.JeevesServlet.doGet(JeevesServlet.java:100)
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.Http11AprProcessor.process(Http11AprProcessor.java:831)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1196)
at java.lang.Thread.run(Unknown Source)
** END NESTED EXCEPTION **
----------------------------------------------------------------------------------------------------------------
you cannot restart mysql while tomcat (and hence geonetwork) is running. When
geonetwork starts a connection pool is created. If you restart mysql the pool's
entries loose the connection.
Regarding the other problem I don't know.
Cheers,
Andrea
Hi, listers,
I am running the Geonetwork cvs version on my two computers for testing, one on windows XP(Tomcat5.5,Mysql5.0.20), the other on FC5(Tomcat5.5, Mysql5.1). Every time I start Mysql and then start tomcat, and browse the geonetwork, it's running well. But after about one hour more or less, something comes into wrong with database connection. The problem exist both on windows and FC5. This problem also occurs when I restart Mysql without restarting Tomcat. I find the error message in log file as following, and google the problem and find a link perhaps related to this: http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-troubleshooting.html#qandaitem-24-3-5-3-4 , but I don't know if there are anyone else meet this problem and how to fix it, would you please help me with it? Thank you very much in advance.
Enri
------------------------------------------------------------------------------------------------------
2006-09-01 13:09:34,296 ERROR [jeeves.service] - Exception executing gui service : java.sql.SQLException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:
** BEGIN NESTED EXCEPTION **
com.mysql.jdbc.CommunicationsException
MESSAGE: Communications link failure due to underlying exception:
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2739)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1581)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3004)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1128)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1222)
at jeeves.resources.dbms.Dbms.executeQuery(Dbms.java:372)
at jeeves.resources.dbms.Dbms.select(Dbms.java:145)
at org.fao.geonet.guiservices.categories.Get.exec(Get.java:52)
at jeeves.server.dispatchers.guiservices.Call.exec(Call.java:75)
at jeeves.server.dispatchers.AbstractPage.invokeGuiService(AbstractPage.java:119)
at jeeves.server.dispatchers.AbstractPage.invokeGuiServices(AbstractPage.java:104)
at jeeves.server.dispatchers.ServiceManager.dispatchOutput(ServiceManager.java:579)
at jeeves.server.dispatchers.ServiceManager.dispatch(ServiceManager.java:382)
at jeeves.server.JeevesEngine.dispatch(JeevesEngine.java:608)
at jeeves.server.sources.http.JeevesServlet.execute(JeevesServlet.java:171)
at jeeves.server.sources.http.JeevesServlet.doGet(JeevesServlet.java:100)
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.Http11AprProcessor.process(Http11AprProcessor.java:831)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1196)
at java.lang.Thread.run(Unknown Source)
** END NESTED EXCEPTION **
----------------------------------------------------------------------------------------------------------------
and change the method open() of jeeves.resources.dbms.DbmsPool Class:
add following line after line 124
if (dbms.isClosed()) reconnectTime=1;
This can fix the two problem I met.
Best regards,
Enri
======= 2006-09-01 20:10:25 you wrote:=======
Hi Enri,
you cannot restart mysql while tomcat (and hence geonetwork) is running. When
geonetwork starts a connection pool is created. If you restart mysql the pool's
entries loose the connection.
Regarding the other problem I don't know.
Cheers,
Andrea
Hi, listers,
I am running the Geonetwork cvs version on my two computers for testing, one on windows XP(Tomcat5.5,Mysql5.0.20), the other on FC5(Tomcat5.5, Mysql5.1). Every time I start Mysql and then start tomcat, and browse the geonetwork, it's running well. But after about one hour more or less, something comes into wrong with database connection. The problem exist both on windows and FC5. This problem also occurs when I restart Mysql without restarting Tomcat. I find the error message in log file as following, and google the problem and find a link perhaps related to this: http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-troubleshooting.html#qandaitem-24-3-5-3-4 , but I don't know if there are anyone else meet this problem and how to fix it, would you please help me with it? Thank you very much in advance.
Enri
------------------------------------------------------------------------------------------------------
2006-09-01 13:09:34,296 ERROR [jeeves.service] - Exception executing gui service : java.sql.SQLException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:
** BEGIN NESTED EXCEPTION **
com.mysql.jdbc.CommunicationsException
MESSAGE: Communications link failure due to underlying exception:
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2739)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1581)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3004)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1128)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1222)
at jeeves.resources.dbms.Dbms.executeQuery(Dbms.java:372)
at jeeves.resources.dbms.Dbms.select(Dbms.java:145)
at org.fao.geonet.guiservices.categories.Get.exec(Get.java:52)
at jeeves.server.dispatchers.guiservices.Call.exec(Call.java:75)
at jeeves.server.dispatchers.AbstractPage.invokeGuiService(AbstractPage.java:119)
at jeeves.server.dispatchers.AbstractPage.invokeGuiServices(AbstractPage.java:104)
at jeeves.server.dispatchers.ServiceManager.dispatchOutput(ServiceManager.java:579)
at jeeves.server.dispatchers.ServiceManager.dispatch(ServiceManager.java:382)
at jeeves.server.JeevesEngine.dispatch(JeevesEngine.java:608)
at jeeves.server.sources.http.JeevesServlet.execute(JeevesServlet.java:171)
at jeeves.server.sources.http.JeevesServlet.doGet(JeevesServlet.java:100)
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.Http11AprProcessor.process(Http11AprProcessor.java:831)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1196)
at java.lang.Thread.run(Unknown Source)
** END NESTED EXCEPTION **
----------------------------------------------------------------------------------------------------------------
and change the method open() of jeeves.resources.dbms.DbmsPool Class:
add following line after line 124
if (dbms.isClosed()) reconnectTime=1;
This can fix the two problem I met.
Best regards,
Enri
======= 2006-09-01 20:10:25 you wrote:=======
>Hi Enri,
>
>you cannot restart mysql while tomcat (and hence geonetwork) is running. When
>geonetwork starts a connection pool is created. If you restart mysql the pool's
>entries loose the connection.
>
>Regarding the other problem I don't know.
>
>Cheers,
>Andrea
>
>> Hi, listers,
>>
>> I am running the Geonetwork cvs version on my two computers for testing, one on windows XP(Tomcat5.5,Mysql5.0.20), the other on FC5(Tomcat5.5, Mysql5.1). Every time I start Mysql and then start tomcat, and browse the geonetwork, it's running well. But after about one hour more or less, something comes into wrong with database connection. The problem exist both on windows and FC5. This problem also occurs when I restart Mysql without restarting Tomcat. I find the error message in log file as following, and google the problem and find a link perhaps related to this: http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-troubleshooting.html#qandaitem-24-3-5-3-4 , but I don't know if there are anyone else meet this problem and how to fix it, would you please help me with it? Thank you very much in advance.
>>
>> Enri
>>
>> ------------------------------------------------------------------------------------------------------
>> 2006-09-01 13:09:34,296 ERROR [jeeves.service] - Exception executing gui service : java.sql.SQLException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:
>>
>>
>> ** BEGIN NESTED EXCEPTION **
>>
>> com.mysql.jdbc.CommunicationsException
>> MESSAGE: Communications link failure due to underlying exception:
>>
>> ** BEGIN NESTED EXCEPTION **
>>
>> java.net.SocketException
>> MESSAGE: Software caused connection abort: socket write error
>>
>> STACKTRACE:
>>
>> java.net.SocketException: Software caused connection abort: socket write error
>> at java.net.SocketOutputStream.socketWrite0(Native Method)
>> at java.net.SocketOutputStream.socketWrite(Unknown Source)
>> at java.net.SocketOutputStream.write(Unknown Source)
>> at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
>> at java.io.BufferedOutputStream.flush(Unknown Source)
>> at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2739)
>> at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)
>> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1581)
>> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
>> at com.mysql.jdbc.Connection.execSQL(Connection.java:3004)
>> at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1128)
>> at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1222)
>> at jeeves.resources.dbms.Dbms.executeQuery(Dbms.java:372)
>> at jeeves.resources.dbms.Dbms.select(Dbms.java:145)
>> at org.fao.geonet.guiservices.categories.Get.exec(Get.java:52)
>> at jeeves.server.dispatchers.guiservices.Call.exec(Call.java:75)
>> at jeeves.server.dispatchers.AbstractPage.invokeGuiService(AbstractPage.java:119)
>> at jeeves.server.dispatchers.AbstractPage.invokeGuiServices(AbstractPage.java:104)
>> at jeeves.server.dispatchers.ServiceManager.dispatchOutput(ServiceManager.java:579)
>> at jeeves.server.dispatchers.ServiceManager.dispatch(ServiceManager.java:382)
>> at jeeves.server.JeevesEngine.dispatch(JeevesEngine.java:608)
>> at jeeves.server.sources.http.JeevesServlet.execute(JeevesServlet.java:171)
>> at jeeves.server.sources.http.JeevesServlet.doGet(JeevesServlet.java:100)
>> 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.Http11AprProcessor.process(Http11AprProcessor.java:831)
>> at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
>> at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1196)
>> at java.lang.Thread.run(Unknown Source)
>>
>>
>> ** END NESTED EXCEPTION **
>> ----------------------------------------------------------------------------------------------------------------
>>
>>
>>
>
>-------------------------------------------------------------------------
>Using Tomcat but need to do more? Need to support web services, security?
>Get stuff done quickly with pre-integrated technology to make your job easier
>Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>_______________________________________________
>GeoNetwork-devel mailing list
>GeoNetwork-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
>GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork