Ciao, dopo un po' di tempo sono riuscito a trovare del tempo per riaffrontare il problema e che la SDK di Amazon permette di configurare, in fase di creazione del client, una classe che implementi una determinata interfaccia e che realizzi la funzionalià di client http. Di default loro usano la loro personalizzazione di netty, io ci ho messo una mia implementazione che usa http client di java 13 e mi controllo direttamente l'uso dei bytebuffer. Tra l'altro netty mi ha dato anche altri problemi sotto stress. Prossimamente passerò in esercizio questa soluzione e ne vedremo gli effetti. Per ora in collaudo sembra essere valida.
Luigi 4 settembre 2019 19:38, "Simone Bordet [email protected] [it-torino-java-jug]" wrote: Ciao a tutti, On Wed, Sep 4, 2019 at 6:14 PM [email protected] (mailto:[email protected]) [it-torino-java-jug] wrote: > Ciao Vasco, > se pure asincrono il servizio, mantenersi il riferimento di un oggetto che > non hai allocato, obblighi il chiamante a non poter fare uso di pool. Bingo. Ho discusso di questo problema con i creatori delle librerie reactive streams, e non sono riuscito a convincerli che ci fosse bisogno di un messaggio all'indietro (rispetto allo stream dei dati) che dicesse "ho terminato di utilizzare il dato". La loro (corretta) argomentazione è stata che A) molti casi non ne hanno bisogno e pagherebbero il costo e B) se hai bisogno di uno stream nella direzione opposta lo crei. In particolare nel tuo esempio, dove il dato è un ByteBuffer (che può essere riutilizzato), non rimane che leggersi la documentazione dove _dovrebbe_ essere dettagliato il comportamento preciso del subscriber: se copia il ByteBuffer (e quindi al ritorno del metodo si può riutilizzare), oppure se mantiene un reference (che obbliga il publisher ad allocare sempre ByteBuffers nuovi per ogni dato). Facci sapere. -- Simone Bordet --- Finally, no matter how good the architecture and design are, to deliver bug-free software with optimal performance and reliability, the implementation technique must be flawless. Victoria Livschitz
