2016-10-29 4 views
0

JavaのデスクトップWebアプリケーションを2つのDynamodbテーブルでビルドして実行しています。 (FoodItems)はそうではありませんでした。 APIを介してFoodItemsにアクセスしようとすると、例外が発生します:Cannot do operations on a non-existent table JUnitテスト中にFoodItemsにアクセスしようとすると、同じことがBUILD FAIL com.amazonaws.services.dynamodbv2.model.ResourceNotFoundExceptionになります。Gradle:ローカルDynamodbを使用して「存在しないテーブルで操作できません」

私はその理由を知っています。これは、FoodItemsテーブルが決して作成されないためです。しかし、どこでどのように作成するのかわかりませんし、最初にCustomersテーブルがどのように作成されたかについてもわかりません。

私はこれを使用していますgit repositoryからthis tutorialです。私は、FoodItemsテーブルを追加するために、クラスとJUnitテストを複製しました。プロジェクトはうまく構築されますが、http://localhost:8080/fooditemsに行くと、上記の例外が発生します... JUnitテストのfoodItemRepository.save(fooditem);という行で特に発生します。

テーブルがまだ存在しない場合、アプリが起動するときにテーブルを作成するにはどうすればよいですか?

答えて

0

DBInitializerのインターフェイスを作成して、CustomerDBInitializer、FoodItemDBInitializerなどの抽象クラスを作成できるようにしました。これは問題を引き起こしていました。私は根本的な原因は、私がSpringと@PostConstructアノテーターをインターフェースで使用していたためだと考えています。

関連する問題