final MyDAO dao = database.onDemand(MyDAO.class);
dao
インスタンスは再利用できますか? それとも、使用するたびにインスタンス化する必要がありますか?
コードから、DB トランザクションの維持を担当しているように見えます。ただし、DropWizard の例は次のとおりです。
final UserDAO dao = jdbi.onDemand(UserDAO.class);
environment.jersey().register(new UserResource(dao));
したがって、同じリソース内で、dao のこのインスタンスがすべてのパスで再利用されます。つまり、2 つのリクエストが同じリソースに対して (おそらく 2 つのパスで) 行われた場合、両方とも同じ dao インスタンスを使用します。これは問題になりませんか?