Hi Andrus, I was wandering about my project and I can try to change the structure of the 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? are > there any specific entries that I need to enable or disable? > thanks > Marco > > > On Jan 13, 2008 10:32 AM, Andrus Adamchik < [EMAIL PROTECTED]> wrote: > > > At this point it is hard to recommend anything specific with no access > > to your environment... Now that the client side is setup to handle > > connection 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.3 > > >>> May 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 load > > >>> failed - 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... > > >>>> Marco > > >>>> > > >>>> > > >>>> On Jan 11, 2008 9:39 AM, Andrus Adamchik <[EMAIL PROTECTED]> > > >>>> wrote: > > >>>> > > >>>>> This is still a connection timeout issue. I dug up some of my own > > >>>>> production 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=true > > >>>>> > > >>>>> Andrus > > >>>>> > > >>>>> 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 suggested > > >>>>>> me, > > >>>>>> 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 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 > > >>>>>> 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 > > >>>>>> Marco > > >>>>>> > > >>>>>> > > >>>>>> On 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=true > > >>>>>>>>>>> > > >>>>>>>>>>> But this is what generates an error... so somehow the driver > > > > >>>>>>>>>>> name > > >>>>> > > >>>>>>>>>>> seems messed up. Could you post the entire file (just remove > > >>>>>>>>>>> the > > >>>>>>>>>>> password)? > > >>>>>>>>>>> > > >>>>>>>>>>> Andrus > > >>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>> > > >>>>> > > >>>>> > > >>>> > > >> > > >> > > > > >