Andrus
On Jan 13, 2008, at 9:23 PM, marco turchi wrote:
Hi Andrus,I was wandering about my project and I can try to change the structure ofthe code....but is it possible to close the connection and reopen it when I need it inside the same java project? It means that I can get the data from mysql, close the connection, compute what I need and reopen the connection when I'm ready to write back the results... everything into the same java project... In this way, I manage the connections... maybe this structure is obvious,but I get it just right now :-)the difference will be that at the moment i do not close anything after that I have got the data... and i leave everything into the java/mysql hands...Thanks Marco On Jan 13, 2008 10:47 AM, marco turchi <[EMAIL PROTECTED]> wrote:I understand, but which are the option in my.cnf that I should change? arethere any specific entries that I need to enable or disable? thanks MarcoOn Jan 13, 2008 10:32 AM, Andrus Adamchik < [EMAIL PROTECTED]> wrote:At this point it is hard to recommend anything specific with no accessto your environment... Now that the client side is setup to handleconnection timeouts, you may have to start digging on the server side,tweaking appropriate MySQL options (e.g. those in my.cnf). Andrus On Jan 12, 2008, at 10:08 PM, marco turchi wrote:Hi Andrus, I have created the new url adding what u have suggested me... <url value="jdbc:mysql://enm-nc-srv1/subsumer? connectTimeout=0&autoReconnect=true"/> but I get again the same error: org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2.3 May 6 2007] Commit Exception at org.objectstyle.cayenne.access.DataContext.flushToParent( DataContext.java:1290) at org.objectstyle.cayenne.access.DataContext.commitChanges ( DataContext.java:1166) at com.translation.alg.WriterData.insert(WriterData.java:57) at com.translation.alg.News.write(News.java:85) at com.translation.alg.TranslationNews.run (TranslationNews.java:66) at com.translation.alg.TranslationNews.main(TranslationNews.java:21) Caused by: java.sql.SQLException: Communication link failure: java.net.SocketException, underlying cause: Broken pipe ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: Broken pipe STACKTRACE: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0 (Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java :92) at java.net.SocketOutputStream.write(SocketOutputStream.java: 136) at java.io.BufferedOutputStream.flushBuffer( BufferedOutputStream.java:65) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java :1765) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1728) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1149) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1279) at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1225) at com.mysql.jdbc.Connection.execSQL(Connection.java:2278) at com.mysql.jdbc.Connection.execSQL(Connection.java:2225) at com.mysql.jdbc.Statement.execute(Statement.java:906) at org.objectstyle.cayenne.dba.mysql.MySQLPkGenerator.pkFromDatabase (MySQLPkGenerator.java:123) at org.objectstyle.cayenne.dba.JdbcPkGenerator.generatePkForDbEntity (JdbcPkGenerator.java:326) at org .objectstyle .cayenne.access.DataDomainInsertBucket.createPermIdsForObjEntity (DataDomainInsertBucket.java:194) at org .objectstyle .cayenne.access.DataDomainInsertBucket.appendQueriesInternal( DataDomainInsertBucket.java:122) at org.objectstyle.cayenne.access.DataDomainSyncBucket.appendQueries (DataDomainSyncBucket.java:108) at org.objectstyle.cayenne.access.DataDomainFlushAction.preprocess( DataDomainFlushAction.java:211)at org.objectstyle.cayenne.access.DataDomainFlushAction.flush (DataDomainFlushAction.java:167) at org.objectstyle.cayenne.access.DataDomain.onSyncFlush( DataDomain.java:846) at org.objectstyle.cayenne.access.DataDomain$2.transform( DataDomain.java:817)at org.objectstyle.cayenne.access.DataDomain.runInTransaction(DataDomain.java:862) at org.objectstyle.cayenne.access.DataDomain.onSync(DataDomain.java :814) at org.objectstyle.cayenne.access.DataContext.flushToParent( DataContext.java:1262) at org.objectstyle.cayenne.access.DataContext.commitChanges( DataContext.java:1166) at com.translation.alg.WriterData.insert(WriterData.java:57) at com.translation.alg.News.write(News.java:85) at com.translation.alg.TranslationNews.run(TranslationNews.java :66) at com.translation.alg.TranslationNews.main(TranslationNews.java:21) ** END NESTED EXCEPTION ** at com.mysql.jdbc.MysqlIO.send(MysqlIO.java :1786) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1728) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1149) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1279) at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1225) at com.mysql.jdbc.Connection.execSQL(Connection.java:2278) at com.mysql.jdbc.Connection.execSQL(Connection.java:2225) at com.mysql.jdbc.Statement.execute(Statement.java:906) at org.objectstyle.cayenne.dba.mysql.MySQLPkGenerator.pkFromDatabase (MySQLPkGenerator.java:123) at org.objectstyle.cayenne.dba.JdbcPkGenerator.generatePkForDbEntity (JdbcPkGenerator.java:326) at org .objectstyle .cayenne.access.DataDomainInsertBucket.createPermIdsForObjEntity (DataDomainInsertBucket.java:194) at org .objectstyle .cayenne.access.DataDomainInsertBucket.appendQueriesInternal( DataDomainInsertBucket.java:122) at org.objectstyle.cayenne.access.DataDomainSyncBucket.appendQueries (DataDomainSyncBucket.java:108) at org.objectstyle.cayenne.access.DataDomainFlushAction.preprocess( DataDomainFlushAction.java:211)at org.objectstyle.cayenne.access.DataDomainFlushAction.flush (DataDomainFlushAction.java:167) at org.objectstyle.cayenne.access.DataDomain.onSyncFlush( DataDomain.java:846) at org.objectstyle.cayenne.access.DataDomain$2.transform( DataDomain.java:817)at org.objectstyle.cayenne.access.DataDomain.runInTransaction(DataDomain.java:862) at org.objectstyle.cayenne.access.DataDomain.onSync(DataDomain.java :814) at org.objectstyle.cayenne.access.DataContext.flushToParent( DataContext.java:1262) ... 5 more 12 Jan 2008 19:40:25,088 - INFO main com.translation.alg.TranslationNews - [ Ljava.lang.StackTraceElement;@1551f60 I'm quite desperate!!! :-) thanks Marco On Jan 11, 2008 10:06 AM, Andrus Adamchik < [EMAIL PROTECTED]> wrote:To make it valid XML you will need to replace "&" with "&" (or use CayenneModeler that will do it for you). Andrus On Jan 11, 2008, at 12:02 PM, marco turchi wrote:I have added the string that u send me, <url value="jdbc:mysql://enm-nc-srv1/subsumer? connectTimeout=0&autoReconnect=true"/> but I get: java.lang.ExceptionInInitializerError at com.translation.alg.TranslationNews.run(TranslationNews.java:33) at com.translation.alg.TranslationNews.main(TranslationNews.java:21)Caused by: org.objectstyle.cayenne.ConfigurationException: [v. 1.2.3May 6 2007] Error during Configuration initialization. [v.1.2.3 May 6 2007] Load failures. Main configuration class: org.objectstyle.cayenne.conf.DefaultConfiguration, details: domain.node.name=TranslationNode, domain.node.datasource=TranslationNode.driver.xml, reason: DataSource loadfailed - The reference to entity "autoReconnect" must end with the';' delimiter. at org .objectstyle .cayenne.conf.Configuration.initializeSharedConfiguration( Configuration.java:321) at org .objectstyle .cayenne.conf.Configuration.initializeSharedConfiguration( Configuration.java:294) at org .objectstyle .cayenne.conf.Configuration.initializeSharedConfiguration( Configuration.java :275) at org.objectstyle.cayenne.conf.Configuration.getSharedConfiguration (Configuration.java:212) at org.objectstyle.cayenne.access.DataContext.createDataContext ( DataContext.java:242) at com.translation.alg.News.<clinit>(News.java:17) ... 2 more I have added ";" at the end of the string, but nothing changes <url value="jdbc:mysql://enm-nc-srv1/subsumer? connectTimeout=0&autoReconnect=true;"/> Thanks Marco On Jan 11, 2008 9:51 AM, marco turchi < [EMAIL PROTECTED]> wrote:Thanks...I'm going to try... MarcoOn Jan 11, 2008 9:39 AM, Andrus Adamchik <[EMAIL PROTECTED]>wrote:This is still a connection timeout issue. I dug up some of my ownproduction configurations developed to address a similar issue. Here is another URL parameter you may try - "connectTimeout". E.g.:jdbc:mysql://server/database? connectTimeout=0&autoReconnect=trueAndrus On Jan 11, 2008, at 1:36 AM, marco turchi wrote:Hi Andrus, no good news...I have run the software using the changes that u have suggestedme, but I get: 10 Jan 2008 23:19:30,036 - ERROR main com.translation.alg.TranslationNews - Fatal Error:org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2.3 May 62007] Commit Exceptionat org.objectstyle.cayenne.access.DataContext.flushToParent(DataContext.java :1290)at org.objectstyle.cayenne.access.DataContext.commitChanges(DataContext.java:1166)at com.translation.alg.WriterData.insert(WriterData.java: 57)at com.translation.alg.News.write (News.java:85) atcom.translation.alg.TranslationNews.run (TranslationNews.java:66)atcom .translation.alg.TranslationNews.main(TranslationNews.java:21)Caused by: java.sql.SQLException : Communication link failure: java.net.SocketException, underlying cause: Broken pipe ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: Broken pipe STACKTRACE: java.net.SocketException : Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) atjava .net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java: 136) at java.io.BufferedOutputStream.flushBuffer( BufferedOutputStream.java:65) atjava.io.BufferedOutputStream.flush(BufferedOutputStream.java: 123)at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1765) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1728) at com.mysql.jdbc.MysqlIO.sendCommand (MysqlIO.java:1149)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java: 1279)at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1225)at com.mysql.jdbc.Connection.execSQL(Connection.java : 2278)at com.mysql.jdbc.Connection.execSQL(Connection.java:2225) at com.mysql.jdbc.Statement.execute(Statement.java :906) atorg .objectstyle.cayenne.dba.mysql.MySQLPkGenerator.pkFromDatabase(MySQLPkGenerator.java:123) atorg .objectstyle.cayenne.dba.JdbcPkGenerator.generatePkForDbEntity(JdbcPkGenerator.java:326) at org .objectstyle.cayenne .access.DataDomainInsertBucket.createPermIdsForObjEntity(DataDomainInsertBucket.java:194) at org .objectstyle .cayenne.access.DataDomainInsertBucket.appendQueriesInternal( DataDomainInsertBucket.java:122) atorg .objectstyle.cayenne.access.DataDomainSyncBucket.appendQueries(DataDomainSyncBucket.java:108) atorg .objectstyle.cayenne.access.DataDomainFlushAction.preprocess(DataDomainFlushAction.java :211) at org.objectstyle.cayenne.access.DataDomainFlushAction.flush ( DataDomainFlushAction.java:167) at org.objectstyle.cayenne.access.DataDomain.onSyncFlush( DataDomain.java:846) at org.objectstyle.cayenne.access.DataDomain$2.transform( DataDomain.java:817) at org.objectstyle.cayenne.access.DataDomain.runInTransaction ( DataDomain.java:862) atorg .objectstyle.cayenne.access.DataDomain.onSync(DataDomain.java:814)at org.objectstyle.cayenne.access.DataContext.flushToParent(DataContext.java:1262) at org.objectstyle.cayenne.access.DataContext.commitChanges ( DataContext.java:1166)at com.translation.alg.WriterData.insert(WriterData.java: 57)at com.translation.alg.News.write(News.java :85) atcom.translation.alg.TranslationNews.run (TranslationNews.java:66)at com.translation.alg.TranslationNews.main (TranslationNews.java:21)** END NESTED EXCEPTION ** at com.mysql.jdbc.MysqlIO.send(MysqlIO.java :1786) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1728) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1149)at com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java: 1279)at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1225) at com.mysql.jdbc.Connection.execSQL(Connection.java:2278) at com.mysql.jdbc.Connection.execSQL(Connection.java:2225) at com.mysql.jdbc.Statement.execute(Statement.java:906) atorg .objectstyle.cayenne.dba.mysql.MySQLPkGenerator.pkFromDatabase(MySQLPkGenerator.java:123) atorg .objectstyle.cayenne.dba.JdbcPkGenerator.generatePkForDbEntity(JdbcPkGenerator.java :326) at org .objectstyle.cayenne .access.DataDomainInsertBucket.createPermIdsForObjEntity( DataDomainInsertBucket.java:194) at org .objectstyle .cayenne.access.DataDomainInsertBucket.appendQueriesInternal( DataDomainInsertBucket.java:122) atorg .objectstyle.cayenne.access.DataDomainSyncBucket.appendQueries( DataDomainSyncBucket.java:108) atorg .objectstyle.cayenne.access.DataDomainFlushAction.preprocess(DataDomainFlushAction.java:211) at org.objectstyle.cayenne.access.DataDomainFlushAction.flush ( DataDomainFlushAction.java:167) at org.objectstyle.cayenne.access.DataDomain.onSyncFlush ( DataDomain.java:846) at org.objectstyle.cayenne.access.DataDomain$2.transform( DataDomain.java:817) at org.objectstyle.cayenne.access.DataDomain.runInTransaction( DataDomain.java:862) atorg.objectstyle.cayenne.access.DataDomain.onSync (DataDomain.java:814)at org.objectstyle.cayenne.access.DataContext.flushToParent(DataContext.java:1262) ... 5 more 10 Jan 2008 23:19:30,103 - INFO main com.translation.alg.TranslationNews - [ Ljava.lang.StackTraceElement;@1551f60 I do not know what it is... sorry aout that thanks MarcoOn Jan 10, 2008 12:50 PM, marco turchi < [EMAIL PROTECTED] >wrote:sorry about that... :-) Thanks Marco On Jan 10, 2008 12:47 PM, Andrus Adamchik < [EMAIL PROTECTED]> wrote:Ah cool. I thought I was going crazy :-) Andrus On Jan 10, 2008, at 2:37 PM, marco turchi wrote:Hi Andrus, sorry you are right I have added the autoReconnect to the wrong place... now the software is started, I'll see what happens at the end... thanks Marco On Jan 10, 2008 11:01 AM, marco turchi <[EMAIL PROTECTED]wrote:<?xml version="1.0" encoding="utf-8"?><driver project-version=" 1.1" class="com.mysql.jdbc.Driver"><url value="jdbc:mysql://enm-nc-srv1/subsumer? autoReconnect=true"/> <connectionPool min="1" max="1" /> <login userName="####" password="#####"/> </driver> thanks Marco On Jan 10, 2008 10:51 AM, Andrus Adamchik < [EMAIL PROTECTED]> wrote:On Jan 10, 2008, at 12:33 PM, marco turchi wrote:DataSource load failed - Can not load JDBC driver named'com.mysql.jdbc.Driver ?autoReconnect=true': com.mysql.jdbc.Driver? autoReconnect=trueBut this is what generates an error... so somehow the drivernameseems messed up. Could you post the entire file (just removethe password)? Andrus