summaryrefslogtreecommitdiff
path: root/java/demo/Database/library/Server.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/demo/Database/library/Server.java')
-rw-r--r--java/demo/Database/library/Server.java17
1 files changed, 6 insertions, 11 deletions
diff --git a/java/demo/Database/library/Server.java b/java/demo/Database/library/Server.java
index c5fb2f4f940..e1f7b6816a2 100644
--- a/java/demo/Database/library/Server.java
+++ b/java/demo/Database/library/Server.java
@@ -64,7 +64,7 @@ class Server extends Ice.Application
try
{
- Class.forName("com.mysql.jdbc.Driver").newInstance();
+ Class.forName(properties.getProperty("JDBC.DriverClassName")).newInstance();
}
catch(Exception e)
{
@@ -92,9 +92,10 @@ class Server extends Ice.Application
long timeout = properties.getPropertyAsIntWithDefault("SessionTimeout", 30);
- ReapThread reaper = new ReapThread(logger, timeout);
- reaper.start();
-
+ java.util.concurrent.ScheduledExecutorService executor = java.util.concurrent.Executors.newScheduledThreadPool(1);
+ ReapTask reaper = new ReapTask(logger, timeout);
+ executor.scheduleAtFixedRate(reaper, timeout/2, timeout/2, java.util.concurrent.TimeUnit.SECONDS);
+
//
// Create an object adapter
//
@@ -116,14 +117,8 @@ class Server extends Ice.Application
communicator().waitForShutdown();
defaultInterrupt();
+ executor.shutdown();
reaper.terminate();
- try
- {
- reaper.join();
- }
- catch(InterruptedException e)
- {
- }
pool.destroy();