summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/branches
diff options
context:
space:
mode:
authornash <nash@13f79535-47bb-0310-9956-ffa450edef68>2010-09-30 16:34:08 +0000
committernash <nash@13f79535-47bb-0310-9956-ffa450edef68>2010-09-30 16:34:08 +0000
commitfd91059b4edb58814dc1848e51f43b1a78979497 (patch)
tree76a9ff06683d3b969238966d8d284117d09338ee /sca-java-1.x/branches
parentc88df04dcba6249959cbd5fcc5920539f14517ac (diff)
Add timeout for stock quote service invocation and improve handling of connectivity errors
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1003145 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/branches')
-rw-r--r--sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java13
1 files changed, 6 insertions, 7 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java b/sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java
index c2d0e8ab01..2420c4eba0 100644
--- a/sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java
+++ b/sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java
@@ -28,6 +28,7 @@ import org.apache.axiom.om.OMElement;
import org.apache.log4j.Level;
import org.apache.log4j.LogManager;
import org.apache.log4j.spi.LoggerRepository;
+import org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker;
import org.osoa.sca.ServiceRuntimeException;
import org.osoa.sca.annotations.Property;
import org.osoa.sca.annotations.Reference;
@@ -76,19 +77,17 @@ public class AccountServiceImpl implements AccountService {
// first try to get a live stock quote from the web service
String xml = null;
try {
+ // set a small timeout value in case the server doesn't respond
+ Axis2BindingInvoker.GLOBAL_AXIS_TIMEOUT = 8000L;
+
OMElement quotes = stockQuote.GetQuote(request);
xml = quotes.getText();
if (!xml.startsWith("<")) {
System.out.println("Server responded: " + xml);
throw new IllegalStateException("Unexpected response from server");
}
- } catch (Exception e) {
- if (e.getMessage().contains("Transport error: 503")) {
- // server is down, use local historical data
- } else {
- // report any other errors
- throw e;
- }
+ } catch (ServiceRuntimeException e) {
+ // server isn't available, use local historical data
// restore the previous logging setting
} finally {