CAMEL-8517: Updated SalesforceSession to use volatile shared fields
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/40ff886d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/40ff886d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/40ff886d Branch: refs/heads/camel-2.12.x Commit: 40ff886df7f83ee46b71a9c46f1044badec03721 Parents: 93cd645 Author: Dhiraj Bokde <dhira...@yahoo.com> Authored: Fri Mar 20 09:57:03 2015 -0700 Committer: Dhiraj Bokde <dhira...@yahoo.com> Committed: Fri Mar 20 14:24:47 2015 -0700 ---------------------------------------------------------------------- .../component/salesforce/internal/SalesforceSession.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/40ff886d/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/SalesforceSession.java ---------------------------------------------------------------------- diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/SalesforceSession.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/SalesforceSession.java index 5dcb68b..2364697 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/SalesforceSession.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/SalesforceSession.java @@ -56,8 +56,8 @@ public class SalesforceSession implements Service { private final ObjectMapper objectMapper; private final Set<SalesforceSessionListener> listeners; - private String accessToken; - private String instanceUrl; + private volatile String accessToken; + private volatile String instanceUrl; public SalesforceSession(HttpClient httpClient, SalesforceLoginConfig config) { // validate parameters @@ -198,7 +198,7 @@ public class SalesforceSession implements Service { return accessToken; } - public void logout() throws SalesforceException { + public synchronized void logout() throws SalesforceException { if (accessToken == null) { return; } @@ -236,7 +236,7 @@ public class SalesforceSession implements Service { throw new SalesforceException("Logout request TIMEOUT!", null); default: - throw new SalesforceException("Unknow status: " + done, null); + throw new SalesforceException("Unknown status: " + done, null); } } catch (SalesforceException e) { throw e; @@ -247,7 +247,7 @@ public class SalesforceSession implements Service { // reset session accessToken = null; instanceUrl = null; - // notify all session listeners of the new access token and instance url + // notify all session listeners about logout for (SalesforceSessionListener listener : listeners) { try { listener.onLogout();