Pregunta

Estoy en una situación en la que alguien podría estar ya. Estoy usando GWTP en mi aplicación. GWTP está utilizando GIN como inyección de dependencia del lado del cliente. GWTP también utiliza el mecanismo de despachador para enviar una solicitud al lado del servidor.

Ahora, hay algunas clases (presentadores) inyectadas por GWTP, tengo algunas otras clases que se crean tiempo de ejecución sin inyección que significa usar "nuevo" trabajo clave. Tengamos un ejemplo:

// 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;
}

Por lo tanto, necesito acceder a la clase inyectada en clases no inyectadas. Podrías pensar que no he probado el método GWT.Create (inyector.class). Lo he intentado y puedo obtener ese objeto en clases no inectadas, pero el despachador de objetos es algo diferente, incrementa (agrega) "/despacho/" a su URL base. Eso significa que necesito tener el mismo objeto que GWTP usando internamente. Y GWTP crea el inyector GIN en el punto de entrada.

Una solución es colocar el mismo inyector de ginebra a la sesión del lado del cliente (estático hashmap) y usarlo en clases no inyectadas (también he probado esta solución y funciona como encanto).

Necesito una solución más perfecta que pueda funcionar.

Gracias de antemano.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top