使用高速公路 java 注册远程过程

马尔科·斯滕贝格

在 autobahn-java 中注册程序的标准方法是:

CompletableFuture<Registration> order_to_produce = session.register(prefix + "order_to_produce", this::order_to_produce);
order_to_produce.thenAccept(registration -> LOGGER.info("Registered procedure: " + registration.procedure));

由于我们有很多函数要注册,我想将注册名称和函数放到 HashMap 中,但我无法通过方法引用来引用任何函数。

我想做这样的事情:

    Map<String, Runnable> functions = new HashMap<>();
    functions.put("order_to_produce", this::order_to_produce);


    for (Map.Entry<String, Runnable> function : functions.entrySet())
    {
        CompletableFuture<Registration> registerProcedure = session.register(prefix + function.getKey(), function.getValue());
        registerProcedure.thenAccept(registration -> LOGGER.info("Registered procedure: " + registration.procedure));

        // or using reflection ?
        // 
        CompletableFuture<Registration> registerProcedure = session.register(prefix + function.getKey(), obj.getClass().getMethod(function.getKey()));
        registerProcedure.thenAccept(registration -> LOGGER.info("Registered procedure: " + registration.procedure));
    }

有没有办法做到这一点 ?

在 python 中,我可以在后端组件上轻松做到这一点。

functions = {'backend.add_service': self.add_service,
             'backend.online_services': self.services_online}

for functionToRegister in functions.keys():
    yield self.register(functions[functionToRegister], functionToRegister, options=self.REGISTER_OPTIONS)

问候,马尔科。

马尔科·斯滕贝格

我仍然对原始问题感兴趣,但现在我这样做了:

LinkedList<CompletableFuture<Registration>> functions = new LinkedList<>();
functions.add(session.register(prefix + "order_to_produce", this::order_to_produce));

for (CompletableFuture<Registration> function : functions) {
    function.thenAccept(registration -> LOGGER.info("Registered procedure: " + registration.procedure));
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

高速公路VS Einaros-使用Node JS的Websockets

来自分类Dev

在扭曲的高速公路中如何使用不同的网址?

来自分类Dev

高速公路异常WebSockets协议违规

来自分类Dev

wxPython和高速公路Websockets

来自分类Dev

高速公路无法导入名称错误

来自分类Dev

覆盖高速公路/扭曲的WebsocketClientProtocol类

来自分类Dev

SQLAlchemy会话和高速公路

来自分类Dev

高速公路PHP客户端

来自分类Dev

覆盖高速公路/扭曲的WebsocketClientProtocol类

来自分类Dev

SQLAlchemy会话和高速公路

来自分类Dev

比较高速公路并避开高速公路距离

来自分类Dev

高速公路:使用正则表达式或通配符模式订阅频道

来自分类Dev

如何使用Twisted(或高速公路)连接到socket.io服务器?

来自分类Dev

如何使用Twisted Trial在高速公路应用程序上进行单元测试?

来自分类Dev

如何使用Twisted(或高速公路)连接到socket.io服务器?

来自分类Dev

高速公路网络套接字

来自分类Dev

在高速公路python中自动重新连接

来自分类Dev

Android:高速公路-在Websocket上取消请求/发送消息

来自分类Dev

Urwid,高速公路和扭曲的Eventloop集成

来自分类Dev

在crossbar高速公路上订阅python中的主题

来自分类Dev

Android:高速公路-取消Websocket上的请求/发送消息

来自分类Dev

高速公路/扭曲的“意外响应代码 200”

来自分类Dev

Python:cmd 和 asyncio 的组合(用于 WAMP/高速公路)

来自分类Dev

使用matplotlib.animation.FuncAnimate对具有周期性边界的多车道高速公路进行动画处理

来自分类Dev

在后台模式下使用在iOS模拟器中运行的高速公路驱动器/城市

来自分类Dev

Python正则表达式:匹配没有高速公路名称的车速

来自分类Dev

在高速公路的pubsub中获取初始值的设计模式

来自分类Dev

收到新消息时终止先前的高速公路Websocket呼叫

来自分类Dev

如何获取高速公路湿协议中的客户端IP地址?

Related 相关文章

  1. 1

    高速公路VS Einaros-使用Node JS的Websockets

  2. 2

    在扭曲的高速公路中如何使用不同的网址?

  3. 3

    高速公路异常WebSockets协议违规

  4. 4

    wxPython和高速公路Websockets

  5. 5

    高速公路无法导入名称错误

  6. 6

    覆盖高速公路/扭曲的WebsocketClientProtocol类

  7. 7

    SQLAlchemy会话和高速公路

  8. 8

    高速公路PHP客户端

  9. 9

    覆盖高速公路/扭曲的WebsocketClientProtocol类

  10. 10

    SQLAlchemy会话和高速公路

  11. 11

    比较高速公路并避开高速公路距离

  12. 12

    高速公路:使用正则表达式或通配符模式订阅频道

  13. 13

    如何使用Twisted(或高速公路)连接到socket.io服务器?

  14. 14

    如何使用Twisted Trial在高速公路应用程序上进行单元测试?

  15. 15

    如何使用Twisted(或高速公路)连接到socket.io服务器?

  16. 16

    高速公路网络套接字

  17. 17

    在高速公路python中自动重新连接

  18. 18

    Android:高速公路-在Websocket上取消请求/发送消息

  19. 19

    Urwid,高速公路和扭曲的Eventloop集成

  20. 20

    在crossbar高速公路上订阅python中的主题

  21. 21

    Android:高速公路-取消Websocket上的请求/发送消息

  22. 22

    高速公路/扭曲的“意外响应代码 200”

  23. 23

    Python:cmd 和 asyncio 的组合(用于 WAMP/高速公路)

  24. 24

    使用matplotlib.animation.FuncAnimate对具有周期性边界的多车道高速公路进行动画处理

  25. 25

    在后台模式下使用在iOS模拟器中运行的高速公路驱动器/城市

  26. 26

    Python正则表达式:匹配没有高速公路名称的车速

  27. 27

    在高速公路的pubsub中获取初始值的设计模式

  28. 28

    收到新消息时终止先前的高速公路Websocket呼叫

  29. 29

    如何获取高速公路湿协议中的客户端IP地址?

热门标签

归档