

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Analisi del codice di avvio
<a name="scorekeep-startup"></a>

**Nota**  
Avviso di SDK/Daemon manutenzione a raggi X: il 25 febbraio 2026, X-Ray SDKs/Daemon entrerà in modalità di manutenzione, in cui AWS limiterà le versioni di AWS X-Ray SDK e Daemon per risolvere solo problemi di sicurezza. Per ulteriori informazioni sulla tempistica del supporto, consulta. [Cronologia di X-Ray SDK e Daemon Support](xray-sdk-daemon-timeline.md) Ti consigliamo di migrare a. OpenTelemetry Per ulteriori informazioni sulla migrazione a OpenTelemetry, vedere [Migrazione dalla strumentazione a raggi X](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html) alla strumentazione. OpenTelemetry 

L'X-Ray SDK for Java crea automaticamente segmenti per le richieste in arrivo. Se una richiesta rientra nell'ambito, puoi utilizzare i client analizzati e registrare i sottosegmenti senza problemi. Se provi a utilizzare un client con strumenti nel codice di avvio, tuttavia, otterrai un. [SegmentNotFoundException](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/exceptions/SegmentNotFoundException.html)

Il codice di avvio viene eseguito al di fuori del request/response flusso standard di un'applicazione Web, quindi è necessario creare segmenti manualmente per strumentarlo. Scorekeep mostra l'analisi del codice di avvio nel suo file `WebConfig`. Scorekeep chiama un database SQL e Amazon SNS durante l'avvio.

![\[Diagram showing client requests to Scorekeeper-init, which connects to SQL database and SNS.\]](http://docs.aws.amazon.com/it_it/xray/latest/devguide/images/scorekeep-servicemap-init.png)


La `WebConfig` classe predefinita crea un abbonamento Amazon SNS per le notifiche. Per fornire un segmento su cui scrivere all'SDK X-Ray quando viene utilizzato il client Amazon SNS, le chiamate Scorekeep e sul registratore globale. `beginSegment` `endSegment`

**Example [https://github.com/awslabs/eb-java-scorekeep/tree/xray/src/main/java/scorekeep/WebConfig.java#L49](https://github.com/awslabs/eb-java-scorekeep/tree/xray/src/main/java/scorekeep/WebConfig.java#L49)— Client SDK con strumentazione nel codice di avvio AWS**  

```
AWSXRay.beginSegment("Scorekeep-init");
if ( System.getenv("NOTIFICATION_EMAIL") != null ){
  try { Sns.createSubscription(); }
  catch (Exception e ) {
    logger.warn("Failed to create subscription for email "+  System.getenv("NOTIFICATION_EMAIL"));
  }
}
AWSXRay.endSegment();
```

In`RdsWebConfig`, che Scorekeep utilizza quando è connesso un database Amazon RDS, la configurazione crea anche un segmento per il client SQL che Hibernate utilizza quando applica lo schema del database durante l'avvio.

**Example [https://github.com/awslabs/eb-java-scorekeep/tree/xray/src/main/java/scorekeep/RdsWebConfig.java#L83](https://github.com/awslabs/eb-java-scorekeep/tree/xray/src/main/java/scorekeep/RdsWebConfig.java#L83)— Client di database SQL strumentato nel codice di avvio**  

```
@PostConstruct
public void schemaExport() {
  EntityManagerFactoryImpl entityManagerFactoryImpl = (EntityManagerFactoryImpl) localContainerEntityManagerFactoryBean.getNativeEntityManagerFactory();
  SessionFactoryImplementor sessionFactoryImplementor = entityManagerFactoryImpl.getSessionFactory();
  StandardServiceRegistry standardServiceRegistry = sessionFactoryImplementor.getSessionFactoryOptions().getServiceRegistry();
  MetadataSources metadataSources = new MetadataSources(new BootstrapServiceRegistryBuilder().build());
  metadataSources.addAnnotatedClass(GameHistory.class);
  MetadataImplementor metadataImplementor = (MetadataImplementor) metadataSources.buildMetadata(standardServiceRegistry);
  SchemaExport schemaExport = new SchemaExport(standardServiceRegistry, metadataImplementor);

  AWSXRay.beginSegment("Scorekeep-init");
  schemaExport.create(true, true);
  AWSXRay.endSegment();
}
```

`SchemaExport` viene eseguito automaticamente e utilizza un client SQL. Poiché il client è analizzato, Scorekeep deve sostituire l'impostazione predefinita e fornire un segmento che l'SDK possa utilizzare quando il client viene richiamato.