私のウェブアプリのプロトタイプ豆の多くを使用して、それらのほとんどはシングルトンDAO豆を使用している(何の春MVCここでは、コアのみIOCはありません)。多くの異なるプロトタイプBean(異なるリクエストから)が同じメソッドID DAOを同じ瞬間に使用する可能性があるため、シングルトンDAOメソッドをシンクロナイズする必要がありますか?例えばシングルトンメソッドを同期する必要がありますか?
、それが依存
public void setLetterNotNew(int letterId) {
final String sql = "UPDATE income SET isnew=? WHERE id=?";
try(Connection con = HikariFactory.getConnection(); PreparedStatement ps = con.prepareStatement(sql);) {
ps.setInt(1, 0);
ps.setInt(2, letterId);
int i = ps.executeUpdate();
if(i==0) throw new SQLException("setLetterNotNew");
} catch (SQLException e) {
log.error(e);
}
}
を聞かせできることを達成するためにあなたがDBを更新しているかによって異なります。多くのフレームワークはすでに同期されているため、追加の作業を行う必要はありません。あなたのドキュメントをチェックしてください。 – markspace
@markspaceここには、spring-iocのecxeptというフレームワークはありません。これはサーブレットベースのWebアプリケーションです。データベースはstandart jdbc経由で更新されています。 – furry
確かに、シングルトンのメソッドを同期させるか、少なくとも同期するブロックの間にDBに行く部分を作るべきです。また、シングルトンを構築して取得する方法も確認して、2つのインスタンスで終わらないようにしてください。 – Rumal