summaryrefslogtreecommitdiff
path: root/java/demo/Database/library
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2009-01-09 11:40:06 -0330
committerMatthew Newhook <matthew@zeroc.com>2009-01-09 11:40:06 -0330
commitf8080a78d87686f42af854106950933d849ffc7d (patch)
tree817c14d1f2c2be70821b4a2704bdd8b57f75f1d6 /java/demo/Database/library
parentadded Database demo. (diff)
downloadice-f8080a78d87686f42af854106950933d849ffc7d.tar.bz2
ice-f8080a78d87686f42af854106950933d849ffc7d.tar.xz
ice-f8080a78d87686f42af854106950933d849ffc7d.zip
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=3553. database demo uses wrong session destroy.
Diffstat (limited to 'java/demo/Database/library')
-rw-r--r--java/demo/Database/library/RunParser.java102
-rw-r--r--java/demo/Database/library/config.client2
2 files changed, 50 insertions, 54 deletions
diff --git a/java/demo/Database/library/RunParser.java b/java/demo/Database/library/RunParser.java
index 0d12765fca0..6120c17e797 100644
--- a/java/demo/Database/library/RunParser.java
+++ b/java/demo/Database/library/RunParser.java
@@ -21,56 +21,6 @@ class RunParser
public void refresh();
}
- static class Glacier2SessionAdapter implements SessionAdapter
- {
- public LibraryPrx getLibrary()
- {
- return _session.getLibrary();
- }
-
- public void destroy()
- {
- _session.destroy();
- }
-
- public void refresh()
- {
- _session.refresh();
- }
-
- Glacier2SessionAdapter(Glacier2SessionPrx session)
- {
- _session = session;
- }
-
- private Glacier2SessionPrx _session;
- }
-
- static class DemoSessionAdapter implements SessionAdapter
- {
- public LibraryPrx getLibrary()
- {
- return _session.getLibrary();
- }
-
- public void destroy()
- {
- _session.destroy();
- }
-
- public void refresh()
- {
- _session.refresh();
- }
-
- DemoSessionAdapter(SessionPrx session)
- {
- _session = session;
- }
-
- private SessionPrx _session;
- }
-
static private class SessionRefreshThread extends Thread
{
SessionRefreshThread(Ice.Logger logger, long timeout, SessionAdapter session)
@@ -124,7 +74,7 @@ class RunParser
runParser(String appName, String[] args, Ice.Communicator communicator)
{
SessionAdapter session;
- Glacier2.RouterPrx router = Glacier2.RouterPrxHelper.uncheckedCast(communicator.getDefaultRouter());
+ final Glacier2.RouterPrx router = Glacier2.RouterPrxHelper.uncheckedCast(communicator.getDefaultRouter());
long timeout;
if(router != null)
{
@@ -166,7 +116,36 @@ class RunParser
ex.printStackTrace();
}
}
- session = new Glacier2SessionAdapter(Glacier2SessionPrxHelper.uncheckedCast(glacier2session));
+ final Glacier2SessionPrx sess = Glacier2SessionPrxHelper.uncheckedCast(glacier2session);
+ session = new SessionAdapter()
+ {
+ public LibraryPrx getLibrary()
+ {
+ return sess.getLibrary();
+ }
+
+ public void destroy()
+ {
+ try
+ {
+ router.destroySession();
+ }
+ catch(Glacier2.SessionNotExistException ex)
+ {
+ }
+ catch(Ice.ConnectionLostException ex)
+ {
+ //
+ // Expected: the router closed the connection.
+ //
+ }
+ }
+
+ public void refresh()
+ {
+ sess.refresh();
+ }
+ };
}
else
{
@@ -178,7 +157,24 @@ class RunParser
return 1;
}
- session = new DemoSessionAdapter(factory.create());
+ final SessionPrx sess = factory.create();
+ session = new SessionAdapter()
+ {
+ public LibraryPrx getLibrary()
+ {
+ return sess.getLibrary();
+ }
+
+ public void destroy()
+ {
+ sess.destroy();
+ }
+
+ public void refresh()
+ {
+ sess.refresh();
+ }
+ };
timeout = factory.getSessionTimeout()/2;
}
SessionRefreshThread refresh = new SessionRefreshThread(communicator.getLogger(), timeout, session);
diff --git a/java/demo/Database/library/config.client b/java/demo/Database/library/config.client
index 9f0fa65a663..978ddf615e7 100644
--- a/java/demo/Database/library/config.client
+++ b/java/demo/Database/library/config.client
@@ -25,7 +25,7 @@ Ice.RetryIntervals=-1
#
# Warn about connection exceptions
#
-Ice.Warn.Connections=1
+#Ice.Warn.Connections=1
#
# Network Tracing