From a246d970b07d4de853036d65ce82b49ad10a9c77 Mon Sep 17 00:00:00 2001 From: erickson Date: Wed, 5 Dec 2007 14:44:54 +0000 Subject: [PATCH] Added support for "migratable" opensrf services. See http://list.georgialibraries.org/pipermail/open-ils-dev/2007-October/001904.html git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1156 9efc2488-bf62-4759-914b-345cdb29e865 --- src/perlmods/OpenSRF/Transport.pm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/perlmods/OpenSRF/Transport.pm b/src/perlmods/OpenSRF/Transport.pm index 33de5c4..4629e57 100644 --- a/src/perlmods/OpenSRF/Transport.pm +++ b/src/perlmods/OpenSRF/Transport.pm @@ -102,11 +102,18 @@ sub handler { my $app_session = OpenSRF::AppSession->find( $sess_id ); if( $app_session and $app_session->endpoint == $app_session->SERVER() and $app_session->remote_id ne $remote_id ) { - $logger->transport( "Backend Gone or invalid sender", INTERNAL ); - my $res = OpenSRF::DomainObject::oilsBrokenSession->new(); - $res->status( "Backend Gone or invalid sender, Reconnect" ); - $app_session->status( $res ); - return 1; + + my $c = OpenSRF::Utils::SettingsClient->new(); + if($c->config_value("apps", $app_session->service, "migratable")) { + $logger->debug("service is migratable, new client is $remote_id"); + } else { + + $logger->warn("Backend Gone or invalid sender"); + my $res = OpenSRF::DomainObject::oilsBrokenSession->new(); + $res->status( "Backend Gone or invalid sender, Reconnect" ); + $app_session->status( $res ); + return 1; + } } # Retrieve or build the app_session as appropriate (server_build decides which to do) -- 2.43.2