这是我在尝试将我们的代码库从 gridgain 4 移植到 gridgain 6 时遇到的另一个问题。无论如何,目的是连接我们的一个侦听器以在检测到网格事件(例如 EVT_NODE_JOINED)时执行某些操作
在旧代码中,我们连接到我们的侦听器 (gridNodeMonitor),如该 xml 片段所述。
<beans profile="master">
<bean class="org.gridgain.grid.GridSpringBean">
<property name="configuration">
<bean parent="abstractGridConfiguration">
<property name="userAttributes">
<map merge="true">
<entry key="com.mycompany.master" value="true"/>
</map>
</property>
<property name="lifecycleBeans">
<list>
<ref bean="gridNodeMonitor"/>
</list>
</property>
<property name="localEventListeners">
<map>
<entry key-ref="gridNodeMonitor">
<list>
<util:constant static-field="org.gridgain.grid.GridEventType.EVT_NODE_JOINED"/>
<util:constant static-field="org.gridgain.grid.GridEventType.EVT_NODE_LEFT"/>
<util:constant static-field="org.gridgain.grid.GridEventType.EVT_NODE_FAILED"/>
<util:constant static-field="org.gridgain.grid.GridEventType.EVT_NODE_RECONNECTED"/>
</list>
</entry>
</map>
</property>
<property name="topologySpi">
<bean class="org.gridgain.grid.spi.topology.nodefilter.GridNodeFilterTopologySpi">
<property name="filter">
<bean class="com.mycompany.enterprise.gridgain.license.GridNodeMonitorImpl"
factory-method="createTopologyFilter">
<constructor-arg ref="gridNodeMonitor"/>
</bean>
</property>
</bean>
</property>
<property name="cacheConfiguration">
<bean class="org.gridgain.grid.cache.GridCacheConfigurationAdapter"/>
</property>
</bean>
</property>
</bean>
</beans>
在新代码中,配置架构已更改,这就是我将其移植到的内容(localEventListener 不再是有效属性)。我猜我的问题是我没有指定监听器来监视事件。我应该如何配置这个?我应该注意,在任何情况下,GridGain 都能正常工作,即作业被分配到正确的节点,只是没有正确注册的侦听器。
谢谢
<beans profile="master">
<bean class="org.gridgain.grid.GridSpringBean">
<property name="configuration">
<bean parent="abstractGridConfiguration">
<property name="userAttributes">
<map merge="true">
<entry key="com.mycompany.master" value="true"/>
</map>
</property>
<property name="lifecycleBeans">
<list>
<ref bean="gridNodeMonitor"/>
</list>
</property>
<property name="includeEventTypes">
<list>
<util:constant static-field="org.gridgain.grid.events.GridEventType.EVT_NODE_JOINED"/>
<util:constant static-field="org.gridgain.grid.events.GridEventType.EVT_NODE_LEFT"/>
<util:constant static-field="org.gridgain.grid.events.GridEventType.EVT_NODE_FAILED"/>
<util:constant static-field="org.gridgain.grid.events.GridEventType.EVT_NODE_RECONNECTED"/>
</list>
</property>
<property name="cacheConfiguration">
<bean class="org.gridgain.grid.cache.GridCacheConfiguration"/>
</property>
</bean>
</property>
</bean>
</beans>