package net.sf.lab3f.mysql; import java.io.IOException; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.net.URL; import java.net.MalformedURLException; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; import java.nio.channels.WritableByteChannel; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; import net.sf.lab3f.osgi.Sqlable; public class MysqlHolder implements Sqlable{ private Properties props = new Properties(); public void start () throws Exception{ props.load(new FileInputStream("conf/mysql.properties")); } public void stop () throws Exception{}// if(!connection.isClosed())connection.close(); } public Connection getConnection() throws SQLException, ClassNotFoundException { Class.forName(props.getProperty("jdbcDriver")); Connection conn = DriverManager.getConnection(props.getProperty("jdbcUrl")); System.out.println("[INFO] MySQL connection successfully (re)established."); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT VERSION()"); if(rs.next())System.out.println("[INFO] MySQL version = " + rs.getString(1)); else System.out.println("[WARN] MySQL version not detected."); rs.close(); stmt.close(); return conn; } /* private class MysqlLoader extends ClassLoader{ private final String prefix = "jar:file:../_classes/lib/"; public final Class findClass(String cln){ String jar = getJarName(cln); if(jar == null)return null; try{ final URL url = new URL(prefix + jar + "!/" + cln.replace('.', '/') + ".class"); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); final WritableByteChannel wbch = Channels.newChannel(baos); tuttiFrutti. ch2ch(Channels.newChannel(url.openStream()), wbch); final byte[] ba = baos.toByteArray(); return defineClass(cln, ba, 0, ba.length); } catch(IOException ex){System.out.println(ex);return null;} } protected final URL findResource(String name){ try{return new URL(prefix + "mysql.jar!/" + name);} catch(MalformedURLException ex){System.out.println(ex);return null;} } private final String getJarName(String cln){ return "mysql.jar"; // if(cln.startsWith("com.sleepycat"))return "je.jar"; // else if(cln.startsWith("javax.activation") || cln.startsWith("com.sun.activation"))return "activation.jar"; // else if(cln.startsWith("javax.mail") || cln.startsWith("com.sun.mail"))return "mail.jar"; // else if(cln.startsWith("org.opends.server.snmp"))return "extensions/snmp-mib2605.jar"; // else if(cln.startsWith("org.opends")) return "OpenDS.jar"; // else if(cln.startsWith("net.sf.lab3f.ods")) return "3f-helper.jar"; // else return null; } }*/ }