0

以下の Bean はステートレスであり、したがってスレッドセーフですか? より具体的には、文字列配列に挿入された値が私のコンサーンです。これは Bean の状態に干渉しますか? 権利はありません?

public class ServiceImpl implements Service {

private static final Logger LOG = Logger.getLogger(ServiceImpl.class);

/* Injected values properties file. */
private String[] values;

@Autowired
private DAO dao;


@Transactional
@Override
public void invoke(String submissionId) {

    dosomething....
}
}
4

3 に答える 3

3

ここで尋ねるべき主な質問は

ステートレス オブジェクトとは

答えは、オブジェクトのプロパティが有効期間中に変更されない場合、オブジェクトはステートレスであるということです。あなたの Bean は としてスコープされていると想定しているため、Bean の有効期間中にプロパティが変更されないsingleton限り、それはステートレスです。valuesそうでなければそうではありません。

于 2013-03-07T10:29:37.567 に答える
0

初期化後にプロパティ (または Bean によって参照されるオブジェクトのプロパティ) を変更しない場合、Bean は事実上ステートレスになります。使用するタイプは問いません。

したがって、配列またはその項目の 1 つを変更しない場合、Bean は有効なステートレス/有効な不変になります。

于 2013-03-07T10:28:32.593 に答える
0

values配列への書き込みアクセスがない場合、ステートレスです。そうしないと、おそらくエラーが発生します。

于 2013-03-07T10:26:58.683 に答える