В OpenWebBeans не работает следующее:
@Produces
@TransactionScoped
public Marshaller produceMarshallerTx() {
try {
log.trace("produceMarshaller()");
Marshaller marshaller = new SMarshaller(jaxbContext.createMarshaller());
return marshaller;
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
@Produces
@RequestScoped
public Marshaller produceMarshallerReq() {
try {
log.trace("produceMarshaller()");
Marshaller marshaller = new SMarshaller(jaxbContext.createMarshaller());
return marshaller;
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
Есть ли способ, которым это можно сделать? Иногда bean-компонент Marshaller используется MDB, у которого есть только транзакция, а некоторые запросы выполняются очень-очень-очень долго, поэтому время ожидания TX будет превышено.
Спасибо!