Asynchronous AWS流程框架,.get on承诺永远等待

Asynchronous AWS流程框架,.get on承诺永远等待,asynchronous,amazon-web-services,promise,Asynchronous,Amazon Web Services,Promise,我正在使用AwsFlowFramework的示例,具体地说是。我一直都在跟踪。所有客户端类都是使用aspect weaver成功创建的。这一切都是编译和运行的 但是尝试在异步方法中对承诺执行.get是行不通的。它永远等待,结果永远不会返回 我做错了什么 特别是helloworld示例没有任何异步方法,也没有尝试对承诺执行.get。因此,当直接复制时,它确实可以工作,我可以在活动客户端中看到打印的“hello world”消息。但是,如果我创建一个存根异步方法来调用get,调用Promise,该方

我正在使用AwsFlowFramework的示例,具体地说是。我一直都在跟踪。所有客户端类都是使用aspect weaver成功创建的。这一切都是编译和运行的

但是尝试在异步方法中对承诺执行
.get
是行不通的。它永远等待,结果永远不会返回

我做错了什么

特别是helloworld示例没有任何异步方法,也没有尝试对承诺执行
.get
。因此,当直接复制时,它确实可以工作,我可以在活动客户端中看到打印的“hello world”消息。但是,如果我创建一个存根异步方法来调用
get
,调用
Promise
,该方法由
printHello
返回,那么活动的客户端永远不会被调用,因此工作流将永远等待。事实上,如果我将返回的承诺设置为一个变量,那么这个示例就可以工作。只有当我试着打电话给
时,问题才会出现。获得承诺。具有异步方法的文件处理示例不起作用

我看到正在aws控制台中注册的工作流和活动类型

我正在使用JavaSDK1.4.1和EclipseJuno


我的失败尝试列表:

  • 在EclipseIndigo上试用,以防aspect weaver做不同的事情
  • 按照建议将所有异步方法设置为私有
  • 如果我在Promise上调用
    .isReady()
    ,这始终是
    错误的
    ,即使我在看到打印的“helloworld”消息后调用它(通过在其间进行睡眠来确定)。这让我想到,
    Promise.get
    会阻止调用方,直到
    Promise.isReady
    true
    但由于某种原因,这永远都不是真的,因此客户端不会被调用,工作流会永远等待
  • 尝试不同的方法

    • 我的身体很不好。我在
      aop.xml
      文件中有一个错误配置,因此远程调用的load aspectj编织是不正确的。

      @seanbreeden我感谢您尝试改进问题,但请不要更改问题本身的含义。特别是,
      printHello
      返回正确的
      Promise
      。问题是,无论
      承诺的类型是
      无效
      字符串
      ,还是其他任何类型,都试图调用
      实现我在问题中指定的承诺。我不确定你是否意识到,但是Void以前根本没有出现过。它是空白的,因为SO将它呈现为html标记。我没有看到这一点。谢谢。什么是错误配置?对不起,我再也找不到了。你应该很好地使用AWS的教程。