이전의 gridgain 4 코드베이스에서 gridgain 6으로 응용 프로그램을 마이그레이션하고 있습니다. 이전 응용 프로그램에서는 GridJexlPredicate2를 사용하여 if 노드는 특정 작업을 실행해야합니다 (기본적으로 노드에 특정 속성 값이 포함되어 있는지 확인).GridGain 6 (오픈 소스 버전)에서 GridJexlPredicate2의 대안은 무엇입니까
gridgain 6에서 우리는 GridBiPredicate 클래스를 사용해야한다고 생각합니다. 그러나, 표현식 언어 기반 GridJexlPredicate2 클래스를 대체 할 것인가, 아니면 내가보아야 할 다른 프로그래밍 방식/선언적 접근 방식이 있는가?
감사
/**
* Creates the topology filter used to select nodes for processing.
* The expression string will have three variables that can be referenced:
* <dl>
* <dt><strong>node</strong></dt>
* <dd>The GridNode being tested</dd>
* <dt><strong>session</strong></dt>
* <dd>The GridTaskSession for the task being executed</dd>
* <dt><strong>monitor</strong></dt>
* <dd>The GridNodeMonitor monitoring nodes on the grid</dd>
* </dl>
*
* @param monitor The monitor instance to be bound into the expression
*context for use in the filter expression
* @return A {@link GridBiPredicate} used to filter nodes
*/
public static GridJexlPredicate2<GridNode, GridComputeTaskSession> createTopologyFilter(GridNodeMonitor monitor) {
GridJexlPredicate2<GridNode, GridComputeTaskSession> filter = new GridJexlPredicate2<GridNode, GridComputeTaskSession>("monitor.canAcceptJobs(node)","node", "session");
return filter.with("monitor", monitor);
}
와 GridProjection을 사용하는 것입니다. 그러나 그것은 올바른 접근법입니까? –
할 수는 있지만 어떤 이점이 있는지 확실하지 않습니다. 새로운 방식은 나에게 깨끗해 보인다. – Dmitriy