Ich habe versucht, das Spring JPA Repository im CDI-Transaktionskontext zu verwenden, habe aber den Fehler „WFTXN0084: UserTransaction-Zugriff ist im aktuellen Kontext verboten“ erhalten. Die Umgebung ist JBoss EAD 8 / Spring 6.1 / Jakarta EE 10.
Ich habe eine JSF-Backing-Bean und ein Serviceobjekt (CDI Managed Bean) wird in die Backing-Bean eingefügt
@Named("registrantDetail")
@ViewScoped
public class RegistrantPageBean {
@Inject
private RegistrantService registrantService;
Das Serviceobjekt ist mit @Transactional (jakarta.transaction.Transactional) annotiert
@Named("registrantService")
@ApplicationScoped
@Transactional
public class RegistrantServiceBean implements RegistrantService {
@Inject
@SpringBean
private RegistrantRepository registrantRepository;
Die RegistrantServiceBean verfügt über ein injiziertes RegistrantRepository. Das @SpringBean ist ein benutzerdefinierter Qualifizierer, der verwendet wird, um den Spring ApplicationContext zu umschließen, um eine Spring Bean im CDI-Kontext zu erzeugen.
Soweit so gut, nur wenn ich Folgendes innerhalb der RegistrantServiceBean ausführe:
Registrant = registrantRepository.findById(id);
Ich erhalte die folgende Fehlermeldung: „Verursacht durch: java.lang.IllegalStateException: WFTXN0084: UserTransaction-Zugriff ist im aktuellen Kontext verboten“.
Gibt es eine Möglichkeit, das Problem zu beheben und es zum Laufen zu bringen?
Spring JPA Repository funktioniert nicht in CDI-verwalteten Transaktionen ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post