Является ли Microsoft Graph SDK для Java потокобезопасным?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Является ли Microsoft Graph SDK для Java потокобезопасным?

Сообщение Anonymous »

Я использую msgraph sdk для получения сведений о пользователе в приложении. Инициализировал GraphServiceClient для проверки подлинности только для приложений, как указано в руководстве: https://learn.microsoft.com/en-us/graph ... ial-step=3.

Код: Выделить всё

private static Properties _properties;
private static ClientSecretCredential _clientSecretCredential;
private static GraphServiceClient _appClient;

public static void initializeGraphForAppOnlyAuth(Properties properties) throws Exception {
// Ensure properties isn't null
if (properties == null) {
throw new Exception("Properties cannot be null");
}

_properties = properties;

if (_clientSecretCredential == null) {
final String clientId = _properties.getProperty("app.clientId");
final String tenantId = _properties.getProperty("app.tenantId");
final String clientSecret = _properties.getProperty("app.clientSecret");

_clientSecretCredential = new ClientSecretCredentialBuilder()
.clientId(clientId)
.tenantId(tenantId)
.clientSecret(clientSecret)
.build();
}

if (_appClient == null) {
_appClient = new GraphServiceClient(_clientSecretCredential,
new String[] { "https://graph.microsoft.com/.default" });
}
}
Я хочу запросить «пользователей», используя определенный фильтр и критерии выбора, например

Код: Выделить всё

_appClient.users().get(requestConfig -> {
requestConfig.queryParameters.filter = "displayName startsWith \'A\'";
requestConfig.queryParameters.select = new String[] { "displayName", "id", "mail" };
requestConfig.queryParameters.top = 25;
requestConfig.queryParameters.orderby = new String[] { "displayName" };
});
Однако в моем приложении этот конкретный запрос может происходить из контекста разных потоков.
Мои запросы:
  • Нужно ли каждому потоку создавать экземпляр GraphServiceClient отдельно или мы можем инициализировать один раз и использовать его в нескольких потоках?
  • Если экземпляр (_appClient) может быть общим, является ли он потоко- безопасно это сделать или нам нужно синхронизировать доступ к это?
Используются следующие версии артефактов: microsoft-graph (v 6.20.0) и azure-identity (1.14.1).

Подробнее здесь: https://stackoverflow.com/questions/791 ... hread-safe
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Возникло несколько проблем после обновления Microsoft.Graph и Microsoft.Graph.Core – ищем замену этих фрагментов кода.
    Anonymous » » в форуме C#
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • С# Пытаюсь использовать MS Graph SDK с Microsoft.Graph.Models.Json
    Anonymous » » в форуме C#
    0 Ответы
    71 Просмотры
    Последнее сообщение Anonymous
  • Apache Iceberg Java SDK: является ли объект org.apache.iceberg.Table потокобезопасным?
    Anonymous » » в форуме JAVA
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Тип «ErrorDetails» отсутствует в Microsoft.Graph/Graph.Core после обновления.
    Anonymous » » в форуме C#
    0 Ответы
    64 Просмотры
    Последнее сообщение Anonymous
  • Версия C# вызова API Graph — https://graph.microsoft.com/v1.0/groups/{GroupId}/sites/root?$select=webUrl
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»