diff options
Diffstat (limited to 'java/demo/Database/library/Server.java')
-rw-r--r-- | java/demo/Database/library/Server.java | 59 |
1 files changed, 9 insertions, 50 deletions
diff --git a/java/demo/Database/library/Server.java b/java/demo/Database/library/Server.java index b95bb76b56c..106ffa41df1 100644 --- a/java/demo/Database/library/Server.java +++ b/java/demo/Database/library/Server.java @@ -11,51 +11,8 @@ import Demo.*; class LibraryServer extends Ice.Application { - static class BookDispatchInterceptorI extends Ice.DispatchInterceptor - { - BookDispatchInterceptorI(Ice.Logger logger, ConnectionPool pool, Ice.Object servant) - { - _logger = logger; - _pool = pool; - _servant = servant; - } - - public Ice.DispatchStatus - dispatch(Ice.Request request) - { - SQLRequestContext context = new SQLRequestContext(_logger, _pool); - try - { - Ice.DispatchStatus status = _servant.ice_dispatch(request, null); - context.destroyFromDispatch(status == Ice.DispatchStatus.DispatchOK); - return status; - } - catch(JDBCException ex) - { - context.error("dispatch to " + - request.getCurrent().id.category + "/" + request.getCurrent().id.name + - " failed.", ex); - context.destroyFromDispatch(false); - - // Translate the exception to UnknownException. - Ice.UnknownException e = new Ice.UnknownException(); - ex.initCause(e); - throw e; - } - } - - private Ice.Logger _logger; - private ConnectionPool _pool; - private Ice.Object _servant; - } - static class LocatorI implements Ice.ServantLocator { - LocatorI(Ice.Logger logger, ConnectionPool pool, Ice.Object servant) - { - _servant = new BookDispatchInterceptorI(logger, pool, servant); - } - public Ice.Object locate(Ice.Current c, Ice.LocalObjectHolder cookie) { @@ -73,6 +30,11 @@ class LibraryServer extends Ice.Application { } + LocatorI(Ice.Object servant) + { + _servant = new DispatchInterceptorI(servant); + } + private Ice.Object _servant; } @@ -136,16 +98,13 @@ class LibraryServer extends Ice.Application // Ice.ObjectAdapter adapter = communicator().createObjectAdapter("SessionFactory"); - LocatorI locator = new LocatorI(logger, pool, new BookI()); - Ice.Object library = new LibraryI(); + SQLRequestContext.initialize(logger, pool); + adapter.addServantLocator(new LocatorI(new BookI()), "book"); - adapter.add(new SessionFactoryI(logger, reaper, pool, library), - communicator().stringToIdentity("SessionFactory")); - adapter.add(new Glacier2SessionManagerI(logger, reaper, pool, library), + adapter.add(new SessionFactoryI(logger, reaper), communicator().stringToIdentity("SessionFactory")); + adapter.add(new Glacier2SessionManagerI(logger, reaper), communicator().stringToIdentity("LibrarySessionManager")); - adapter.addServantLocator(locator, "book"); - // // Everything ok, let's go. // |