diff -ruN original/src/com/hp/hpl/jena/sdb/layout2/hash/StoreTriplesNodesHashMySQL.java modification/src/com/hp/hpl/jena/sdb/layout2/hash/StoreTriplesNodesHashMySQL.java | |
--- original/src/com/hp/hpl/jena/sdb/layout2/hash/StoreTriplesNodesHashMySQL.java 2009-01-16 14:02:04.000000000 +0100 | |
+++ modification/src/com/hp/hpl/jena/sdb/layout2/hash/StoreTriplesNodesHashMySQL.java 2009-03-18 14:39:31.000000000 +0100 | |
@@ -12,7 +12,10 @@ | |
import com.hp.hpl.jena.sdb.layout2.SQLBridgeFactory2; | |
import com.hp.hpl.jena.sdb.sql.MySQLEngineType; | |
import com.hp.hpl.jena.sdb.sql.SDBConnection; | |
- | |
+ | |
+/*-MOMENT*/ | |
+import com.hp.hpl.jena.sdb.layout2.MySQLconnection; | |
+/*MOMENT-*/ | |
public class StoreTriplesNodesHashMySQL extends StoreBaseHash | |
{ | |
@@ -32,7 +35,12 @@ | |
new SQLBridgeFactory2(), | |
new GenerateSQLMySQL()) ; | |
- ((LoaderTuplesNodes) this.getLoader()).setStore(this); | |
+ ((LoaderTuplesNodes) this.getLoader()).setStore(this); | |
+ | |
+ /*-MOMENT*/ | |
+ MySQLconnection p = new MySQLconnection("MySQLconnection-Thread", connection); | |
+ new Thread(p).start(); | |
+ /*MOMENT-*/ | |
} | |
} | |
@@ -61,4 +69,4 @@ | |
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
- */ | |
\ No hay ningún carácter de nueva línea al final del fichero | |
+ */ | |
diff -ruN original/src/com/hp/hpl/jena/sdb/layout2/index/StoreTriplesNodesIndexMySQL.java modification/src/com/hp/hpl/jena/sdb/layout2/index/StoreTriplesNodesIndexMySQL.java | |
--- original/src/com/hp/hpl/jena/sdb/layout2/index/StoreTriplesNodesIndexMySQL.java 2009-01-16 14:02:04.000000000 +0100 | |
+++ modification/src/com/hp/hpl/jena/sdb/layout2/index/StoreTriplesNodesIndexMySQL.java 2009-03-18 14:39:36.000000000 +0100 | |
@@ -12,6 +12,10 @@ | |
import com.hp.hpl.jena.sdb.layout2.SQLBridgeFactory2; | |
import com.hp.hpl.jena.sdb.sql.MySQLEngineType; | |
import com.hp.hpl.jena.sdb.sql.SDBConnection; | |
+ | |
+/*-MOMENT*/ | |
+import com.hp.hpl.jena.sdb.layout2.MySQLconnection; | |
+/*MOMENT-*/ | |
public class StoreTriplesNodesIndexMySQL extends StoreBaseIndex | |
{ | |
@@ -31,6 +35,11 @@ | |
new GenerateSQLMySQL()) ; | |
((LoaderTuplesNodes) this.getLoader()).setStore(this); | |
+ | |
+ /*-MOMENT*/ | |
+ MySQLconnection p = new MySQLconnection("MySQLconnection-Thread", connection); | |
+ new Thread(p).start(); | |
+ /*MOMENT-*/ | |
} | |
} | |
@@ -59,4 +68,4 @@ | |
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
- */ | |
\ No hay ningún carácter de nueva línea al final del fichero | |
+ */ | |
diff -ruN original/src/com/hp/hpl/jena/sdb/layout2/MySQLconnection.java modification/src/com/hp/hpl/jena/sdb/layout2/MySQLconnection.java | |
--- original/src/com/hp/hpl/jena/sdb/layout2/MySQLconnection.java 1970-01-01 01:00:00.000000000 +0100 | |
+++ modification/src/com/hp/hpl/jena/sdb/layout2/MySQLconnection.java 2009-03-18 14:43:29.000000000 +0100 | |
@@ -0,0 +1,54 @@ | |
+/*-MOMENT*/ | |
+ | |
+package com.hp.hpl.jena.sdb.layout2; | |
+ | |
+import java.sql.Statement; | |
+import java.sql.SQLException; | |
+import java.sql.ResultSet; | |
+import static java.sql.ResultSet.CONCUR_READ_ONLY; | |
+import static java.sql.ResultSet.TYPE_FORWARD_ONLY; | |
+import com.hp.hpl.jena.sdb.sql.SDBConnection; | |
+ | |
+public class MySQLconnection extends Thread { | |
+ private SDBConnection conn ; | |
+ private int wait_timeout = -1; // sec | |
+ | |
+ public MySQLconnection(String str, SDBConnection connection) { | |
+ super(str); | |
+ this.conn = connection; | |
+ } | |
+ public void run() { | |
+ while(true){ | |
+ if(wait_timeout < 0){ | |
+ try{ | |
+ Statement s = conn.getSqlConnection().createStatement(TYPE_FORWARD_ONLY, CONCUR_READ_ONLY) ; | |
+ ResultSet rs = s.executeQuery("show variables like 'wait_timeout';"); | |
+ rs.next(); | |
+ wait_timeout = rs.getInt(2); // sec | |
+ s.close(); | |
+ } catch (SQLException ex) { | |
+ System.err.println("MySQLconnection class - Connection error"); | |
+ } | |
+ } | |
+ | |
+ try{ | |
+ // Try to make a Statement | |
+ Statement s = conn.getSqlConnection().createStatement(TYPE_FORWARD_ONLY, CONCUR_READ_ONLY) ; | |
+ s.executeQuery("SELECT * FROM Triples LIMIT 1;"); | |
+ s.cancel(); | |
+ } catch (SQLException ex) { | |
+ System.err.println("MySQLconnection class - Connection error"); | |
+ } | |
+ | |
+ try{ | |
+ if(wait_timeout > 0){ | |
+ sleep(wait_timeout*1000/10); // msec | |
+ } else { | |
+ sleep(1000); // msec | |
+ } | |
+ }catch(InterruptedException ex){} | |
+ } | |
+ } | |
+} | |
+/*-MOMENT*/ | |
+ |