Skip to content
Snippets Groups Projects
Commit 3ce2451d authored by Sathyanarayanan Saravanamuthu's avatar Sathyanarayanan Saravanamuthu
Browse files

Resolving review comments

parent 284b2428
No related branches found
No related tags found
3 merge requests!232Update os-core-lib-azure,!231initial commit,!181Adding entries to requests table on notification processing
......@@ -32,6 +32,8 @@ import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.stereotype.Component;
import java.util.concurrent.ConcurrentMap;
import java.util.Date;
@Component
@ConditionalOnExpression("${azure.serviceBus.enabled:true} || ${azure.eventGridToServiceBus.enabled:true}")
......@@ -50,7 +52,7 @@ public class ProcessNotification {
public void performNotification(IMessage message, String subscriptionName) throws Exception {
TelemetryClient telemetryClient = new TelemetryClient();
StopWatch stopWatch = new StopWatch();
stopWatch.start();
stopWatch.start();
try {
NotificationContent notificationContent = requestBodyAdapter.extractNotificationContent(message, subscriptionName);
......@@ -58,13 +60,9 @@ public class ProcessNotification {
String dataPartitionId = notificationContent.getExtractAttributes().get(DpsHeaders.DATA_PARTITION_ID);
String correlationId = notificationContent.getExtractAttributes().get(DpsHeaders.CORRELATION_ID);
MDC.setContextMap(mdcContextMap.getContextMap(correlationId, dataPartitionId));
dpsHeaders.setThreadContext(dataPartitionId, correlationId);
LOGGER.info("Notification process started for message with id: {}", message.getMessageId());
HttpResponse response = notificationHandler.notifySubscriber(notificationContent.getNotificationId(),
notificationContent.getData(), notificationContent.getExtractAttributes());
ConcurrentMap properties = telemetryClient.getContext().getProperties();
properties.put("correlation-id",correlationId);
properties.put("data-partition-id", dataPartitionId);
RequestTelemetry requestTelemetry = new RequestTelemetry(
"SBQueueRequest",
......@@ -72,8 +70,16 @@ public class ProcessNotification {
stopWatch.getTime(),
"500",
false);
requestTelemetry.setId(message.getMessageId());
MDC.setContextMap(mdcContextMap.getContextMap(correlationId, dataPartitionId));
dpsHeaders.setThreadContext(dataPartitionId, correlationId);
LOGGER.info("Notification process started for message with id: {}", message.getMessageId());
HttpResponse response = notificationHandler.notifySubscriber(notificationContent.getNotificationId(),
notificationContent.getData(), notificationContent.getExtractAttributes());
if (!response.isSuccessCode()) {
telemetryClient.trackRequest(requestTelemetry);
throw new Exception(NOT_ACKNOWLEDGE);
......@@ -83,11 +89,12 @@ public class ProcessNotification {
telemetryClient.trackRequest(requestTelemetry);
}
} catch (Exception e) {
LOGGER.error(String.format("An error occurred performing Notification for message with ID: ", message.getMessageId()), e);
LOGGER.error(String.format("An error occurred performing Notification for message with ID: ", message.getMessageId()), e);
throw e;
} finally {
ThreadScopeContextHolder.getContext().clear();
MDC.clear();
stopWatch.stop();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment