package forklift.consumer; import forklift.connectors.ForkliftMessage; import forklift.decorators.Message; import forklift.decorators.OnMessage; import forklift.decorators.Topic; import forklift.message.Header; import forklift.producers.ForkliftResultResolver; @Topic("sync.result") public class ResultConsumer<T> { @SuppressWarnings("rawtypes") private static ForkliftResultResolver resolver; @Message private ForkliftMessage msg; @Message private T t; @SuppressWarnings("unchecked") @OnMessage public void onMessage() { System.out.println("ON MESSAGE: " + msg.getMsg()); resolver.resolve("" + msg.getHeaders().get(Header.CorrelationId), t); } @SuppressWarnings("rawtypes") public static void setResolver(ForkliftResultResolver resolver) { ResultConsumer.resolver = resolver; } }