Domanda

Sono in una situazione in cui qualcuno potrebbe essere già. Sto usando GWTP nella mia applicazione. GWTP utilizza Gin come iniezione di dipendenza sul lato client. GWTP utilizza anche il meccanismo di dispatcher per l'invio della richiesta sul lato server.

Ora, ci sono alcune classi (presentatori) che sono iniettate da GWTP, ho alcune altre classi che vengono create runtime senza iniezione che significa usare il tasto "nuovo". Facciamo un esempio:

// Injected
class Dispatcher {
}

// Injected
Class A {
    @Inject // I can do this and access the disp without any hurdle.
    Dispatcher disp;
}

// Created using "new" keywork 
class B {
    //@Inject I can't do this because of B is not an injected class. Correct me if I am wrong here 
    Dispatcher disp;
}

Quindi, devo accedere alla classe iniettata in classi non iniettate. Potresti pensare di non aver provato il metodo GWT.Create (iniettore.class). L'ho provato e sono in grado di ottenere quell'oggetto in classi non inettate, ma il dispatcher dell'oggetto è qualcosa di diverso che aumenta (aggiunge) "/dispatch/" al suo URL di base. Ciò significa che devo avere lo stesso oggetto che GWTP utilizza internamente. E GWTP crea l'iniettore Gin nel punto di ingresso.

Una soluzione è quella di mettere lo stesso iniettore Gin alla sessione lato client (statico hashmap) e utilizzarlo in classi non iniettate (ho anche provato questa soluzione e funziona come fascino).

Ho bisogno di una soluzione più perfetta che possa funzionare.

Grazie in anticipo.

Nessuna soluzione corretta

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