通过 socket id 连接 Hybris widget

Hybris widget connection through socket id

我正在尝试创建一个可以通过套接字与另一个进行通信的小部件。我遵循了 here 的文档,但我不明白他们的示例是如何工作的。我在定义 inputs/outputs、mychat.zulcontroller 的地方创建了 definition.xml。但是我无法在平台的任何地方找到标签 <widget-connection> 以查看小部件实际上将 inputs/outputs 连接到某物.. 或者这不是上面标签的目的吗?

我已经通过后台 F4 功能添加了小部件,但它们的示例只有在我添加 两个 小部件和 SET 之间的连接时才有效它们(因为我试图调试程序并查看它何时进入 @SocketEvent 方法并且仅当我有 2 个小部件并设置 outcomingMsgincomingMsg 时才进入,但这还不够仅使用相同的 sourceWidgetId 和 targetWidgetId 设置 <widget-connection>?)。

也许我不完全理解它是如何工作的。如果有人能帮助我,我将不胜感激 :) 谢谢。

P.S.: 我按照上面教程中的步骤操作,我确信我已经在正确的目录中创建了它们,否则它不会完全没有工作。

这是来自 trainingbackoffice-backoffice-widgets.xml

<widget-connection>
<widget-connection sourceWidgetId="com.training.backoffice.widgets.mychat" outputId="outgoingMsg" targetWidgetId="com.training.backoffice.widgets.mychat" inputId="incomingMsg"/>

EDIT : 有没有办法只用一个聊天 window 与自己交流?

已解决

<widget-connection> 按我的预期工作,但是 -> 我的小部件没有实例化,所以我通过在 trainingbackoffice-backoffice-widgets.xml 中实例化它解决了这个问题,如下所示:

<widget id="myChat" widgetDefinitionId="com.training.backoffice.widgets.mychat" /> 和这样的小部件连接:

<widget-connection sourceWidgetId="myChat" outputId="outgoingMsg" targetWidgetId="myChat" inputId="incomingMsg"/>