2014-04-11 2 views
0

이전의 gridgain 4 코드베이스에서 gridgain 6으로 응용 프로그램을 마이그레이션하고 있습니다. 이전 응용 프로그램에서는 그리드 속성 키 "com"을 기반으로 노드를 분할했습니다. mycompany.workgroup ". 새 릴리스에는 topologySpi 구성 등록 정보 또는 GridAttributesTopologySpi가 없습니다.GridGain 6 (오픈 소스 버전)에서 GridAttributesTopologySpi의 대안

  1. 권장되는 접근 방법이나 대안은 무엇입니까?

  2. 제공된 예 중 하나라도 내 요구 사항을 충족합니까? 어쩌면 나는 그들을 통해 브라우징 할 때 뭔가를 놓쳤다.

감사

<beans profile="default"> 

    <bean id="workerGrid" 
      class="org.gridgain.grid.GridSpringBean"> 
     <property name="configuration"> 
      <bean parent="abstractGridConfiguration"> 
       <property name="gridName" value="${grid.name}-worker"/> 
       <property name="userAttributes"> 
        <map merge="true"> 
         <entry key="com.mycompany.master" value="false"/> 
        </map> 
       </property> 
       <property name="topologySpi"> 
        <bean class="org.gridgain.grid.spi.topology.attributes.GridAttributesTopologySpi"> 
         <property name="attributes"> 
          <map> 
           <entry key="com.mycompany.workgroup" value="${grid.workgroup}"/> 
          </map> 
         </property> 
        </bean> 
       </property> 
      </bean> 
     </property> 
    </bean> 

답변

1

대안이 일을 너무

Grid grid = GridGain.grid(); 

GridProjection prj = grid.forAttribute("com.mycompany.workgroup", "workers"); 

GridComputeTaskFuture<?> fut = prj.compute().execute(new MyTask()); 

// Synchronous wait. 
prj.get(); 
+1

감사합니다, 같은 GridProjection을 사용하는 것입니다 .. 1). GridGain6에서는 더 이상 SPI를 통해 원하는 속성을 구성 할 수있는 방법이 없습니까? 2. 'GridComputeTaskFuture future = master .forAttribute ("com.company.master", "false")와 같이 연결하지 않고 한 번에 속성 집합을 지정하는 방법이 있습니까? .forAttribute ("com. myCompany.workgroup ", masterInstance1.getWorkgroup()) .compute(). execute (새 GridInstanceTask(),"something "); 다시 한 번 감사드립니다 –

+1

코드에서 같은 결과를 얻는 또 다른 방법이 있습니다. 형식,'GridInstanceTaskResult> 미래 = 마스터 .forPredicate (새 GridPredicate () { @Override 공공 부울) (GridNode gridNode을 적용 죄송 { 최종지도 <문자열, 개체> =의 gridNode.attributes을() 속성; } ) && attributes.get ("com.mycompany.workgroup"). equals (masterInstance1.getWorkgroup()); } } .compute(). execute (새 GridInstanceTask(), "something"); ' –

+0

@VinayB 1) 더 이상 SPI를 통해 작업 토폴로지를 지정하는 방법이 없습니다. 2) 체인을 사용하거나 자신의 술어를 정의 할 수 있습니다. – Dmitriy