Merge pull request #728 from ayyoob/devicetype-3.1.0

fixed mb startup issue
This commit is contained in:
Milan Perera 2017-06-28 14:45:48 +05:30 committed by GitHub
commit 5754b025f5
2 changed files with 8 additions and 6 deletions

View File

@ -104,7 +104,7 @@ public class DeviceAccessBasedMQTTAuthorizer implements IAuthorizer {
try {
String topics[] = topic.split("/");
String tenantDomainFromTopic = topics[0];
if ("+".equals(tenantDomainFromTopic)) {
if (ALL_TENANT_DOMAIN.equals(tenantDomainFromTopic)) {
if (MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(authorizationSubject.getTenantDomain())
&& isUserAuthorized(authorizationSubject, DEFAULT_ADMIN_PERMISSION, UI_EXECUTE)) {
return true;
@ -133,8 +133,8 @@ public class DeviceAccessBasedMQTTAuthorizer implements IAuthorizer {
return false;
} catch (FeignException e) {
oAuthRequestInterceptor.resetApiApplicationKey();
if (e.getMessage().contains(GATEWAY_ERROR_CODE) || e.status() == 404) {
log.error("Failed to connect to the device authorization service.");
if (e.getMessage().contains(GATEWAY_ERROR_CODE) || e.status() == 404 || e.status() == 403) {
log.error("Failed to connect to the device authorization service, Retrying....");
} else {
log.error(e.getMessage(), e);
}
@ -181,8 +181,9 @@ public class DeviceAccessBasedMQTTAuthorizer implements IAuthorizer {
}
} catch (FeignException e) {
oAuthRequestInterceptor.resetApiApplicationKey();
if (e.getMessage().contains(GATEWAY_ERROR_CODE)) {
log.error("Failed to connect to the device authorization service.", e);
//This is to avoid failure where it tries to call authorization service before the api is published
if (e.getMessage().contains(GATEWAY_ERROR_CODE) || e.status() == 404 || e.status() == 403) {
log.error("Failed to connect to the device authorization service, Retrying....");
} else {
log.error(e.getMessage(), e);
}

View File

@ -64,7 +64,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
private ApiApplicationRegistrationService apiApplicationRegistrationService;
private TokenIssuerService tokenIssuerService;
private static Log log = LogFactory.getLog(OAuthRequestInterceptor.class);
private ApiApplicationKey apiApplicationKey;
private volatile ApiApplicationKey apiApplicationKey;
/**
* Creates an interceptor that authenticates all requests.
@ -124,6 +124,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
}
public void resetApiApplicationKey() {
tokenInfo = null;
apiApplicationKey = null;
tokenIssuerService = null;
}