■
SMART deployを使って悩んだので、自己メモ。
SMART deployを使って自動登録したコンポーネントのインスタンスはcreator.diconに書いてあるXXXCreatorが作成するようなので、変更したい場合はCreatorを作ってそれを登録すればいいです。
componentタグを使った場合はsingletonがデフォルトですが、例えばLogicCreatorの場合は
public LogicCreator(NamingConvention namingConvention) {
super(namingConvention);
setNameSuffix(namingConvention.getLogicSuffix());
setInstanceDef(InstanceDefFactory.PROTOTYPE);
}
とあるので、prototypeで作成されます。
なのでコンストラクタで、setInstanceDef(InstanceDefFactory.SINGLETON);を指定したCreatorクラスをcreator.diconに登録するとそのCreatorが作成したコンポーネントはsingletonで作成されます。