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/a1bf9207 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a1bf9207 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a1bf9207 Branch: refs/heads/camel-2.13.x Commit: a1bf92075b4977de80eb8c91f74fb6e565985810 Parents: 9c1c551 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 13:59:44 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/a1bf9207/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();