summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ConnectionACMMonitor.java
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2014-07-23 15:06:02 -0230
committerMatthew Newhook <matthew@zeroc.com>2014-07-23 15:06:02 -0230
commit866f9ff17391176b836f9bb49f6da40c2c938441 (patch)
tree7366963294ef3356c7b887cd89af753988c21beb /java/src/IceInternal/ConnectionACMMonitor.java
parentadding ACM tests for Python/Ruby/PHP (diff)
downloadice-866f9ff17391176b836f9bb49f6da40c2c938441.tar.bz2
ice-866f9ff17391176b836f9bb49f6da40c2c938441.tar.xz
ice-866f9ff17391176b836f9bb49f6da40c2c938441.zip
ICE-4234 - Update Ice to use current Java threading constructs
- Use ScheduledThreadPoolDispatcher not IceUtilInternal.Timer. - Use Ice timer in glacier2, Freeze impl. - Align C++, C# with java changes. - Database demo now supports mariadb.
Diffstat (limited to 'java/src/IceInternal/ConnectionACMMonitor.java')
-rw-r--r--java/src/IceInternal/ConnectionACMMonitor.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/java/src/IceInternal/ConnectionACMMonitor.java b/java/src/IceInternal/ConnectionACMMonitor.java
index b8a8021c980..effc30949eb 100644
--- a/java/src/IceInternal/ConnectionACMMonitor.java
+++ b/java/src/IceInternal/ConnectionACMMonitor.java
@@ -11,7 +11,8 @@ package IceInternal;
class ConnectionACMMonitor implements ACMMonitor
{
- ConnectionACMMonitor(FactoryACMMonitor parent, Timer timer, ACMConfig config)
+ ConnectionACMMonitor(FactoryACMMonitor parent, java.util.concurrent.ScheduledExecutorService timer,
+ ACMConfig config)
{
_parent = parent;
_timer = timer;
@@ -42,7 +43,8 @@ class ConnectionACMMonitor implements ACMMonitor
_connection = connection;
if(_config.timeout > 0)
{
- _timer.scheduleRepeated(this, _config.timeout / 2);
+ _future = _timer.scheduleAtFixedRate(this, _config.timeout / 2, _config.timeout / 2,
+ java.util.concurrent.TimeUnit.MILLISECONDS);
}
}
@@ -53,7 +55,8 @@ class ConnectionACMMonitor implements ACMMonitor
_connection = null;
if(_config.timeout > 0)
{
- _timer.cancel(this);
+ _future.cancel(false);
+ _future = null;
}
}
@@ -80,7 +83,7 @@ class ConnectionACMMonitor implements ACMMonitor
}
public void
- runTimerTask()
+ run()
{
Ice.ConnectionI connection;
synchronized(this)
@@ -103,7 +106,8 @@ class ConnectionACMMonitor implements ACMMonitor
}
final private FactoryACMMonitor _parent;
- final private Timer _timer;
+ final private java.util.concurrent.ScheduledExecutorService _timer;
+ private java.util.concurrent.Future<?> _future;
final private ACMConfig _config;
private Ice.ConnectionI _connection;