Domanda

Che cos'è il "canonico"? modo di accedere al MessageContext da un PayloadEndpoint?

Stiamo usando PayloadEndpoint e AbstractMarshallingPayloadEndpoint che non espone MessageContext ai loro metodi invoke / invokeinternal, ma ora dovrà accedere ai parametri della richiesta HTTP.

È stato utile?

Soluzione

Il modo più semplice che mi viene in mente: creare un endpoint 'wrapper' che implementa MessageEndpoint . Quindi è possibile estrarre i parametri della richiesta e passarli all'endpoint effettivo.

È possibile memorizzare le variabili di richiesta in un ThreadLocal in modo che l'endpoint originale possa accedervi.

Altri suggerimenti

Qualcuno sul forum Spring ha suggerito di utilizzare TransportContext per accedere ai parametri della richiesta HTTP. Questo aiuta a risolvere il nostro problema particolare, ma non risponde alla domanda originale su come ottenere MessageContext.

Un'altra idea sarebbe quella di introdurre un EndpointInterceptor e usa un ThreadLocal. Ma speravo che ci fosse un modo in cui sembra meno un hack.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top