В CDI возможно иметь продюсера того же типа и спецификатора, но разных областей? - PullRequest
0 голосов
/ 31 августа 2018

В 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 будет превышено.

Спасибо!

...