Solicitações assíncronas (Java)
Última atualização: 20 de julho de 2024
- Tópicos:
- APIs/SDKs
Criado para:
- Desenvolvedor
Descrição
Um benefício da integração do lado do servidor é que você pode aproveitar a grande largura de banda e os recursos de computação disponíveis no lado do servidor usando o paralelismo. O SDK do Java Target oferece suporte a solicitações assíncronas, o que pode reduzir o tempo de destino efetivo para zero.
Métodos suportados
Métodos
CompletableFuture<TargetDeliveryResponse> getOffersAsync(TargetDeliveryRequest request);
CompletableFuture<ResponseStatus> sendNotificationsAsync(TargetDeliveryRequest request);
CompletableFuture<Attributes> getAttributesAsync(TargetDeliveryRequest targetRequest, String ...mboxes);
Exemplo
Um controlador de aplicativo Spring
de exemplo pode ser semelhante a:
Controlador de amostra
@RestController
public class TargetRestController {
@Autowired
private TargetClient targetJavaClient;
@GetMapping("/mboxTargetOnlyAsync")
public TargetDeliveryResponse mboxTargetOnlyAsync(
@RequestParam(name = "mbox", defaultValue = "server-side-mbox") String mbox,
HttpServletRequest request, HttpServletResponse response) {
ExecuteRequest executeRequest = new ExecuteRequest()
.mboxes(getMboxRequests(mbox));
TargetDeliveryRequest targetDeliveryRequest = TargetDeliveryRequest.builder()
.context(getContext(request))
.execute(executeRequest)
.cookies(getTargetCookies(request.getCookies()))
.build();
CompletableFuture<TargetDeliveryResponse> targetResponseAsync =
targetJavaClient.getOffersAsync(targetDeliveryRequest);
targetResponseAsync.thenAccept(tr -> setCookies(tr.getCookies(), response));
simulateIO();
TargetDeliveryResponse targetResponse = targetResponseAsync.join();
return targetResponse;
}
/**
* Function for simulating network calls like other microservices and database calls
*/
private void simulateIO() {
try {
Thread.sleep(200L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Este exemplo supõe que você tenha inicializado o SDK como um bean de mola e que você tenha métodos de utilitário disponíveis.
A solicitação Target é acionada antes de simulateIO
e, quando for executada, o resultado alvo também deve estar pronto. Mesmo que não seja, você terá uma economia significativa na maioria dos casos.
Página anteriorLogger (Java)
Próxima páginaConfiguração de proxy (Java)
Target
- Guia do desenvolvedor do Adobe Target
- Introdução
- Antes da implementação
- Privacidade e segurança
- Visão geral de privacidade
- Privacidade e regulamentos sobre proteção de dados
- Cookies do Target
- Excluir o cookie do Target
- O impacto da descontinuação de cookies de terceiros no Target (at.js)
- Políticas de cookies do Google Chrome para SameSite
- Apple Intelligent Tracking Prevention (ITP) 2.x
- Diretivas da Política de segurança de conteúdo (CSP)
- Lista de permissões de nós de borda no Target
- Métodos para colocar os dados no Target
- Visão geral da segurança no Target
- Navegadores compatíveis
- Alterações na criptografia do TLS (Transport Layer Security)
- CNAME e Adobe Target
- Implementação do lado do cliente
- Visão geral: implementar o Target para Web no lado do cliente
- Implementação do Adobe Experience Platform Web SDK
- Implementação da at.js
- Como a at.js funciona
- Como implantar a at.js
- Decisão no dispositivo
- Funções da at.js
- Visão geral de funções do at.js
- adobe.target.getOffer()
- adobe.target.getOffers() - at.js 2.x
- adobe.target.applyOffer()
- adobe.target.applyOffers() - at.js 2.x
- adobe.target.triggerView() - at.js 2.x
- adobe.target.trackEvent()
- mboxCreate() - at.js 1.x
- targetGlobalSettings()
- mboxDefine() e mboxUpdate() - at.js 1.x
- targetPageParams()
- targetPageParamsAll()
- registerExtension() - at.js 1.x
- sendNotifications() - at.js 2.1
- Eventos personalizados da at.js
- Depuração da at.js usando o depurador da Adobe Experience Cloud
- Usar instâncias baseadas em nuvem com o Target
- Perguntas frequentes do at.js
- Detalhes da versão da at.js
- Atualização da at.js 1.x para at.js 2.x
- Cookies do at.js
- User-agent e client hints
- Entender a mbox global
- Implementação no servidor
- Lado do servidor: implementar a visão geral do Target
- Introdução aos SDKs do Target
- Aplicativos de exemplo
- Transição de APIs herdadas do Target para o Adobe I/O
- Princípios fundamentais
- Integração
- Decisão no dispositivo
- Visão geral da decisão no dispositivo
- Artefato de regra
- Executar testes A/B com sinalizadores de recursos
- Executar testes de recursos com atributos
- Gerenciar implantações para testes de recursos
- Entregar personalização
- Visão geral dos recursos compatíveis
- Solução de problemas da decisão no dispositivo
- Práticas recomendadas
- Referência do SDK da Node.js
- Referência do Java SDK
- Visão geral do Java SDK
- Instalar o Java SDK
- Inicializar o Java SDK
- Obter ofertas (Java)
- Obter atributos (Java)
- Enviar notificações (Java)
- Eventos da SDK (Java)
- Logger (Java)
- Solicitações assíncronas (Java)
- Configuração de proxy (Java)
- Configuração do cliente HTTP personalizado (Java)
- Métodos de utilitário (Java)
- Referência do .NET SDK
- Referência do Python SDK
- Implementação híbrida
- Analytics for Target (A4T) com Experience Platform SDK
- Implementação do Recommendations
- Implementação do aplicativo móvel
- Implementação de email
- Guias da API
- Padrões de implementação