Springプロジェクトで次の設定をしていて、アプリケーションのさまざまな部分がServiceAのインスタンスを取得しても、ServiceAのすべてのインスタンスが1つのインスタンスを共有するため、情報元? BasicDataSourceがスレッドセーフであるかどうかを単純に知る必要がありますか?もしそうなら、私は大丈夫です、そうでなければ、スレッドの問題がありますか?Dropwizard AppのSpringスコープ
<bean id="serviceA" name="serviceA" class="com.company.ServiceA" scope="prototype">
<constructor-arg name="dataSource" ref="dataSource"/>
</bean>
<bean id="dataSource" destroy-method="close" name="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="${dbConnectionUrl}"/>
<property name="username" value="${user}"/>
<property name="password" value="${password}"/>
<property name="initialSize" value="${connectionSize}" />
<property name="maxActive" value="${maxConnectionSize}" />
<property name="validationQuery" value="SELECT 1" />
<property name="testOnBorrow" value="true" />
</bean>
"すべての豆はステートレスでなければなりません"。これはどうやって私を守っているの?デフォルトスコープはシングルトンです。したがって、Springが2つの要求を処理するとき、両方の要求が同じBeanを介して実行される可能性はありませんか?要求を処理する途中でコンテキストスイッチが可能ではないでしょうか? – MedicineMan
"通常、あなたのBeanはデータソースを使用しませんが(理由はありますが)、セッションファクトリで作業し、セッションファクトリから現在のセッションを取得するだけです。あなたがここで言っていることを理解していない。あなたは少し詳しく説明できますか? – MedicineMan
実際にはここでRESTサービスを行っているので、話すセッションはありません。 – MedicineMan