Skip to content

Commit 14deca2

Browse files
committed
add dynamic query handler delegate
1 parent a5a61d2 commit 14deca2

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

async/async-commons-api/src/main/java/org/reactivecommons/async/api/DynamicRegistry.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.reactivecommons.async.api.handlers.EventHandler;
44
import org.reactivecommons.async.api.handlers.QueryHandler;
5+
import org.reactivecommons.async.api.handlers.QueryHandlerDelegate;
56
import reactor.core.publisher.Mono;
67

78
public interface DynamicRegistry {
@@ -11,6 +12,8 @@ public interface DynamicRegistry {
1112

1213
<T, R> void serveQuery(String resource, QueryHandler<T, R> handler, Class<R> queryClass);
1314

15+
<R> void serveQuery(String resource, QueryHandlerDelegate<Void, R> handler, Class<R> queryClass);
16+
1417
Mono<Void> startListeningEvent(String eventName);
1518

1619
Mono<Void> stopListeningEvent(String eventName);

async/async-rabbit/src/main/java/org/reactivecommons/async/rabbit/DynamicRegistryImp.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.reactivecommons.async.api.DynamicRegistry;
66
import org.reactivecommons.async.api.handlers.EventHandler;
77
import org.reactivecommons.async.api.handlers.QueryHandler;
8+
import org.reactivecommons.async.api.handlers.QueryHandlerDelegate;
89
import org.reactivecommons.async.api.handlers.registered.RegisteredEventListener;
910
import org.reactivecommons.async.api.handlers.registered.RegisteredQueryHandler;
1011
import org.reactivecommons.async.commons.config.IBrokerConfigProps;
@@ -33,6 +34,11 @@ public <T, R> void serveQuery(String resource, QueryHandler<T, R> handler, Class
3334
resolver.addQueryHandler(new RegisteredQueryHandler<>(resource, (ignored, message) -> handler.handle(message), queryClass));
3435
}
3536

37+
@Override
38+
public <R> void serveQuery(String resource, QueryHandlerDelegate<Void, R> handler, Class<R> queryClass) {
39+
resolver.addQueryHandler(new RegisteredQueryHandler<>(resource, handler, queryClass));
40+
}
41+
3642
@Override
3743
public Mono<Void> startListeningEvent(String eventName) {
3844
return topologyCreator.bind(buildBindingSpecification(eventName))

0 commit comments

Comments
 (0)