summaryrefslogtreecommitdiff
path: root/orktrack
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2005-11-30 20:51:26 +0000
committerHenri Herscher <henri@oreka.org>2005-11-30 20:51:26 +0000
commit42cfa120cc99dc20debb290fcc82ee58eaa39322 (patch)
treeb3f93f3c044accf1932ba43f0ae822249588b386 /orktrack
parent8717fa54099fa9266cd376bc5bf321b474ca0b50 (diff)
Changed exception logging
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@79 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orktrack')
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/CommandServlet.java3
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/LogManager.java12
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/OrkTrack.java31
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/PortManager.java20
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/ProgramManager.java11
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/ServiceManager.java8
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/messages/MetadataMessage.java1
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/messages/TapeMessage.java1
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/messages/UserStateMessage.java1
9 files changed, 63 insertions, 25 deletions
diff --git a/orktrack/src/net/sf/oreka/orktrack/CommandServlet.java b/orktrack/src/net/sf/oreka/orktrack/CommandServlet.java
index 5a4dddd..69d3c48 100644
--- a/orktrack/src/net/sf/oreka/orktrack/CommandServlet.java
+++ b/orktrack/src/net/sf/oreka/orktrack/CommandServlet.java
@@ -40,6 +40,7 @@ public class CommandServlet extends HttpServlet {
throws IOException, ServletException
{
//#####OrkObjectFactory.instance().registerOrkObject(new TestMessage());
+ OrkTrack.refreshInMemoryObjects();
ServletRequestSerializer ser = new ServletRequestSerializer();
@@ -66,7 +67,7 @@ public class CommandServlet extends HttpServlet {
logger.debug("Reponse: " + resp);
out.println(resp);
}
- catch (OrkException ae) {
+ catch (Exception ae) {
logger.error("Error:" + ae.getMessage());
}
}
diff --git a/orktrack/src/net/sf/oreka/orktrack/LogManager.java b/orktrack/src/net/sf/oreka/orktrack/LogManager.java
index 1c5be27..f9c293f 100644
--- a/orktrack/src/net/sf/oreka/orktrack/LogManager.java
+++ b/orktrack/src/net/sf/oreka/orktrack/LogManager.java
@@ -32,6 +32,7 @@ public class LogManager {
Logger contextLogger = null;
Logger portLogger = null;
Logger userLogger = null;
+ Logger recurrentLogger = null; // special logger for recurrent messages (annoying to have normally)
private LogManager()
{
@@ -41,6 +42,7 @@ public class LogManager {
contextLogger = Logger.getLogger("context");
portLogger = Logger.getLogger("port");
userLogger = Logger.getLogger("user");
+ recurrentLogger = Logger.getLogger("net.sf.oreka.recurrent");
BasicConfigurator.configure(); // in case there is no properties file
}
@@ -120,6 +122,16 @@ public class LogManager {
public void setUserLogger(Logger userLogger) {
this.userLogger = userLogger;
}
+
+ public Logger getRecurrentLogger() {
+ return recurrentLogger;
+ }
+
+
+ public void setRecurrentLogger(Logger recurrentLogger) {
+ this.recurrentLogger = recurrentLogger;
+ }
+
diff --git a/orktrack/src/net/sf/oreka/orktrack/OrkTrack.java b/orktrack/src/net/sf/oreka/orktrack/OrkTrack.java
index 5bd8a9c..634f19b 100644
--- a/orktrack/src/net/sf/oreka/orktrack/OrkTrack.java
+++ b/orktrack/src/net/sf/oreka/orktrack/OrkTrack.java
@@ -16,8 +16,10 @@
*/
package net.sf.oreka.orktrack;
-import net.sf.oreka.OrkObjectFactory;
+import java.util.Date;
+
import net.sf.oreka.HibernateManager;
+import net.sf.oreka.OrkObjectFactory;
import net.sf.oreka.orktrack.messages.MetadataMessage;
import net.sf.oreka.orktrack.messages.TapeMessage;
import net.sf.oreka.orktrack.messages.UserStateMessage;
@@ -31,6 +33,8 @@ public class OrkTrack {
public static final String APP_NAME = "OrkTrack";
+ private static Date lastInMemoryObjectsSync = new Date(0);
+
public OrkTrack() {
LogManager.getInstance().getConfigLogger().log(Level.INFO, "Entering OrkTrack");
@@ -58,9 +62,28 @@ public class OrkTrack {
log.error("OrkTrack.initialize: Error configuring Hibernate:" + e.getMessage());
}
- ServiceManager.initialize();
- PortManager.instance().initialize();
- ProgramManager.instance().load();
+ /*
+ boolean initOk = false;
+ //while(initOk == false) {
+ initOk = PortManager.instance().initialize();
+ if (initOk) {
+ initOk = ProgramManager.instance().load();
+ }
+ //try{Thread.sleep(5000);} catch (Exception e) {};
+ //}
+ */
+ refreshInMemoryObjects();
+ }
+
+ public static void refreshInMemoryObjects() {
+ Date now = new Date();
+ if((now.getTime() - lastInMemoryObjectsSync.getTime()) > 5000) {
+ LogManager.getInstance().getRecurrentLogger().debug("Refreshing In-Memory objects");
+ // refresh every 5 seconds
+ lastInMemoryObjectsSync = now;
+ PortManager.instance().initialize();
+ ProgramManager.instance().load();
+ }
}
public static void main(String[] args)
diff --git a/orktrack/src/net/sf/oreka/orktrack/PortManager.java b/orktrack/src/net/sf/oreka/orktrack/PortManager.java
index 09c18e9..839b9ab 100644
--- a/orktrack/src/net/sf/oreka/orktrack/PortManager.java
+++ b/orktrack/src/net/sf/oreka/orktrack/PortManager.java
@@ -115,13 +115,15 @@ public class PortManager {
portById.put(1, port);
}
- public void initialize() {
+ public boolean initialize() {
+ Session hbnSession = null;
+ boolean success = false;
try {
- Session session = HibernateManager.getSession();
- Transaction tx = session.beginTransaction();
+ hbnSession = HibernateManager.getSession();
+ Transaction tx = hbnSession.beginTransaction();
- Iterator portFaces = session.createQuery(
+ Iterator portFaces = hbnSession.createQuery(
"from RecPortFace")
.list()
.iterator();
@@ -132,7 +134,7 @@ public class PortManager {
int portId = portFace.getRecPort().getId();
Port port = portById.get(portId);
if(port == null) {
- RecPort recPort = (RecPort)session.get(RecPort.class, portId);
+ RecPort recPort = (RecPort)hbnSession.get(RecPort.class, portId);
if (recPort != null) {
port = new Port(recPort);
portById.put(portId, port);
@@ -142,11 +144,15 @@ public class PortManager {
portByName.put(portFace.getName(), port);
}
tx.commit();
- session.close();
+ success = true;
}
catch (Exception e) {
- log.warn("HibernateManager.initialize: could not initialize", e);
+ log.error("initialize: exception:" + e.getClass().getName());
}
+ finally {
+ if(hbnSession != null) {hbnSession.close();}
+ }
+ return success;
}
public RecPort getRecPortByFace(String face, Session hbnSession) {
diff --git a/orktrack/src/net/sf/oreka/orktrack/ProgramManager.java b/orktrack/src/net/sf/oreka/orktrack/ProgramManager.java
index d87de99..033c684 100644
--- a/orktrack/src/net/sf/oreka/orktrack/ProgramManager.java
+++ b/orktrack/src/net/sf/oreka/orktrack/ProgramManager.java
@@ -45,10 +45,11 @@ public class ProgramManager {
return programManager;
}
- public void load() {
+ public boolean load() {
Session hbnSession = null;
Transaction tx = null;
+ boolean success = false;
try {
hbnSession = HibernateManager.getSession();
@@ -62,13 +63,15 @@ public class ProgramManager {
recPrograms = new ArrayList<RecProgram>(progs);
tx.commit();
+ success = true;
}
catch (Exception e) {
- logger.error("Could not load programs", e);
+ logger.error("Could not load programs"+ e.getClass().getName());
}
finally {
- hbnSession.close();
+ if(hbnSession != null) {hbnSession.close();}
}
+ return success;
}
public void addProgram(RecProgram prog) {
@@ -208,7 +211,7 @@ public class ProgramManager {
int startDay = seg.getTimestamp().getDay();
startDay--; // in java.util.Date, {Sunday ... Saturday} = {0 ... 6}. In net.sf.oreka.Day {monday ... sunday} = {0 ... 6}
if(startDay == -1) {
- startDay = 6; // sunday is = 0 in java.util.Date but = 6 in net.sf.oreka.Day
+ startDay = 6;
}
logger.debug("Day: Seg start:" + startDay + " Prg start:" + prog.getStartDay().ordinal() + " Prg stop:" + prog.getStopDay().ordinal());
if(startDay >= prog.getStartDay().ordinal() && startDay <= prog.getStopDay().ordinal()) {
diff --git a/orktrack/src/net/sf/oreka/orktrack/ServiceManager.java b/orktrack/src/net/sf/oreka/orktrack/ServiceManager.java
index fc8d029..5795977 100644
--- a/orktrack/src/net/sf/oreka/orktrack/ServiceManager.java
+++ b/orktrack/src/net/sf/oreka/orktrack/ServiceManager.java
@@ -22,16 +22,12 @@ import org.hibernate.Session;
public class ServiceManager {
- static Logger log = null;
-
- static void initialize() {
- log = LogManager.getInstance().getPortLogger();
- }
+ static Logger logger = Logger.getLogger(ProgramManager.class);
public static Service retrieveOrCreate(String name, Session hbnSession) {
Service service = retrieveByName(name, hbnSession);
if (service == null) {
- log.info("Creating service:" + name);
+ logger.info("Creating service:" + name);
service = new Service();
service.setName(name);
service.setHostname("localhost");
diff --git a/orktrack/src/net/sf/oreka/orktrack/messages/MetadataMessage.java b/orktrack/src/net/sf/oreka/orktrack/messages/MetadataMessage.java
index e8847ba..a4c279a 100644
--- a/orktrack/src/net/sf/oreka/orktrack/messages/MetadataMessage.java
+++ b/orktrack/src/net/sf/oreka/orktrack/messages/MetadataMessage.java
@@ -82,7 +82,6 @@ public class MetadataMessage extends SyncMessage {
else {tx.rollback();}
}
catch (Exception e) {
- if (tx != null) {tx.rollback();}
log.error("TapeMessage.process: ", e);
response.setSuccess(false);
response.setComment(e.getMessage());
diff --git a/orktrack/src/net/sf/oreka/orktrack/messages/TapeMessage.java b/orktrack/src/net/sf/oreka/orktrack/messages/TapeMessage.java
index 982f707..f69454b 100644
--- a/orktrack/src/net/sf/oreka/orktrack/messages/TapeMessage.java
+++ b/orktrack/src/net/sf/oreka/orktrack/messages/TapeMessage.java
@@ -84,7 +84,6 @@ public class TapeMessage extends SyncMessage {
tx.commit();
}
catch (Exception e) {
- if (tx != null) {tx.rollback();}
log.error("TapeMessage.process: ", e);
response.setSuccess(false);
response.setComment(e.getMessage());
diff --git a/orktrack/src/net/sf/oreka/orktrack/messages/UserStateMessage.java b/orktrack/src/net/sf/oreka/orktrack/messages/UserStateMessage.java
index 1e2da84..fa8df25 100644
--- a/orktrack/src/net/sf/oreka/orktrack/messages/UserStateMessage.java
+++ b/orktrack/src/net/sf/oreka/orktrack/messages/UserStateMessage.java
@@ -88,7 +88,6 @@ public class UserStateMessage extends SyncMessage {
tx.commit();
}
catch (Exception e) {
- if (tx != null) {tx.rollback();}
log.error("TapeMessage.process: ", e);
response.setSuccess(false);
response.setComment(e.getMessage());