问题描述
如何由外部客户端获取名称空间或taskQueue(不想提供工作流ID)中所有工作流的搜索属性?我正在使用Java SDK。
下面是工作流和添加搜索属性的示例代码。在代码中,WorkflowExecution用于获取搜索属性,但必须将工作流ID作为输入参数。我正在寻找一种无需提供工作流ID即可获取名称空间的所有工作流和搜索属性的解决方案。
WorkflowServiceStubs服务= WorkflowServiceStubs.newInstance();
WorkflowClientOptions clientOptios =
WorkflowClientOptions.newBuilder().setNamespace("samples-namespace").build();
WorkflowClient client = WorkflowClient.newInstance(service,clientOptios);
WorkerFactory factory = WorkerFactory.newInstance(client);
Worker worker = factory.newWorker(TASK_QUEUE);
worker.registerWorkflowImplementationTypes(MyClass.MyWorkflowImpl.class);
worker.registerActivitiesImplementations(new MyClass.MyActivitiesImpl());
factory.start();
String workflowID = UUID.randomUUID().toString();
WorkflowOptions workflowOptions =
WorkflowOptions.newBuilder()
.setTaskQueue(TASK_QUEUE)
.setWorkflowId(workflowID)
.setSearchAttributes(generateSearchAttributes())
.build();
HelloSearchAttributes.GreetingWorkflow workflow =
client.newWorkflowStub(MyClass.MyWorkflowImpl.class,workflowOptions);
WorkflowExecution执行= WorkflowExecution.newBuilder()。setWorkflowId(workflowID).build();
DescribeWorkflowExecutionRequest请求= DescribeWorkflowExecutionRequest.newBuilder() .setNamespace(client.getOptions()。getNamespace()) .setExecution(执行) .build();
DescribeWorkflowExecutionResponse resp =
service.blockingStub().describeWorkflowExecution(request);
SearchAttributes searchAttributes = resp.getWorkflowExecutionInfo()。getSearchAttributes();
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)