私はElastic Beanstalkで "hello world"の複雑さのWebアプリケーションを実行しようとしています。私はElastic BeanstalkのSpring Bootでこれをやっても問題ありません。Elastic BeanstalkでSpring Cloud AWSアプリケーションを実行することはできますか?
しかし、Spring Cloud AWSを使用しようとすると、私は無数の問題に遭遇します。参照ガイドは、Beanstalkでの実行が可能であるとは言及していないので、おそらく私は間違ったツリーを吠えているでしょうか?
私が遭遇する根本的な問題は、使用されている「スタック」(つまりCloudFormationスタック)を識別しようとすると、stackResourceRegistryFactoryBeanが爆発することです。しかし私は、CloudFormationではなくElastic Beanstalkを使用しています。ルート例外は次のとおりです。
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.aws.core.env.stack.config.StackResourceRegistryFactoryBean]: Factory method 'stackResourceRegistryFactoryBean' threw exception; nested exception is java.lang.IllegalAccessError: tried to access class org.springframework.cloud.aws.core.env.stack.config.AutoDetectingStackNameProvider from class org.springframework.cloud.aws.autoconfigure.context.ContextStackAutoConfiguration$StackAutoDetectConfiguration
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
... 89 more
Caused by: java.lang.IllegalAccessError: tried to access class org.springframework.cloud.aws.core.env.stack.config.AutoDetectingStackNameProvider from class org.springframework.cloud.aws.autoconfigure.context.ContextStackAutoConfiguration$StackAutoDetectConfiguration
at org.springframework.cloud.aws.autoconfigure.context.ContextStackAutoConfiguration$StackAutoDetectConfiguration.stackResourceRegistryFactoryBean(ContextStackAutoConfiguration.java:71)
at org.springframework.cloud.aws.autoconfigure.context.ContextStackAutoConfiguration$StackAutoDetectConfiguration$$EnhancerBySpringCGLIB$$432c7658.CGLIB$stackResourceRegistryFactoryBean$0(<generated>)
at org.springframework.cloud.aws.autoconfigure.context.ContextStackAutoConfiguration$StackAutoDetectConfiguration$$EnhancerBySpringCGLIB$$432c7658$$FastClassBySpringCGLIB$$47c6e7d2.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
...
用に生成されたEC2インスタンスに存在するタグがあり、「AWS:cloudformationは:IDをスタック」と「AWS:cloudformation:-名を積み重ねる」ことが適切であるならば、そして私の理解がありますBeanstalkは舞台裏でCloudFormationスタックを使用しています。私は手動で@EnableStackConfiguration経由でスタックの名前を指定しようとしましたが、名前が生成されているので、うまくいきません。
私の質問は次のとおりです。 1)Elastic BeanstalkでSpring Cloud AWSベースのアプリケーションを実行することはできますか? 2)そうであれば、特別な手順は必要ですか?たとえば、CloudFormationの読み込みアクセスがその役割に必要であることについて既に知っています。 3)スタックからリソース名を取得しようとするSpring Cloud AWSの部分を無効にする方法はありますか?この時点で私のアプリはこれを必要としません。事前に
おかげで、 K
ありがとう、これは私にとって非常に役に立ちました。 – shawnjohnson