| 1 16 package org.outerj.daisy.backupTool; 17 18 import java.io.File ; 19 import java.net.InetAddress ; 20 import java.net.Socket ; 21 22 import org.outerj.daisy.backupTool.dbDump.DbDumper; 23 import org.outerj.daisy.backupTool.dbDump.DbDumperFactory; 24 import org.w3c.dom.Element ; 25 26 public class OpenJMSEntryLoader extends AbstractEntryLoader { 27 28 public OpenJMSEntryLoader(File openjmsConfig) throws Exception { 29 super(openjmsConfig); 30 } 31 32 public void createEntries(BackupInstance buInstance) throws Exception { 33 Element dbConf = BackupHelper.getElementFromDom(configDocument, "/Configuration/DatabaseConfiguration/RdbmsDatabaseConfiguration"); 34 DbDumper dbDumper = DbDumperFactory.createDbDumper(dbConf.getAttribute("url"), dbConf.getAttribute("user"), dbConf.getAttribute("password")); 35 36 buInstance.addEntry(createDbEntry(buInstance, dbDumper, "openjms-dbDump.zip")); 37 buInstance.addEntry(createFileEntry(buInstance, configFile.getParentFile(), configFile.getParentFile(), "openjms-config.zip")); 38 } 39 40 public void reloadEntries(BackupInstance buInstance) throws Exception { 41 String [] entries = new String [] { "openjms-dbDump.zip", "openjms-config.zip" }; 42 if (areFilesBackedUp(buInstance, entries)) { 43 if (isOpenjmsRunning()) 45 throw new Exception ("OpenJMS seems to be running. Shut it down & try again."); 46 47 createEntries(buInstance); 48 } else { 49 System.out.println("Openjms backup files were not found. Skipping restore of openjms."); 50 } 51 } 52 53 private boolean isOpenjmsRunning() throws Exception { 54 boolean isRunning; 55 String host = BackupHelper.getStringFromDom(configDocument, "/Configuration/ServerConfiguration/@host"); 56 int port = Integer.parseInt(BackupHelper.getStringFromDom(configDocument, "/Configuration/TcpConfiguration/@port")); 57 58 try { 59 Socket socket = new Socket (InetAddress.getByName(host), port); 60 socket.close(); 61 isRunning = true; 62 } catch (Exception e) { 63 isRunning = false; 64 } 65 return isRunning; 66 } 67 68 } 69 | Popular Tags |