Proxetta と JTX を使用してサービス クラスでトランザクションを作成する jodd プロジェクトがあります。問題は、受け取ったサービス クラスをデバッグしようとすると、次のようになることです。
行番号属性がないため、ブレークポイントをインストールできません
Proxetta がプロキシ クラスを生成する方法に何か関係があると思われます。Spring では、クラスのインターフェイスがない場合に同じことが起こるようです。
私は Eclispe を使用しており、Proxetta の初期化方法は次のとおりです。
public void initProxetta() {
ProxyAspect txServiceProxy = new ProxyAspect(AnnotationTxAdvice.class,
new MethodAnnotationPointcut(Transaction.class) {
@Override
public boolean apply(MethodInfo mi) {
return isPublic(mi) &&
isTopLevelMethod(mi) &&
matchClassName(mi, "*ServiceImpl") &&
super.apply(mi);
}
});
proxetta = ProxyProxetta.withAspects(txServiceProxy);
proxetta.setClassLoader(this.getClass().getClassLoader());
}