Cómo apache aries recuperar transacciones fallidas?

Estoy usando Apache karaf 4.2.6 .Tengo el siguiente config:

        <repository>mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.3.5/xml/features</repository>
<feature name="karaf-jpa-example-datasource" version="${project.version}">
    <config name="org.ops4j.datasource-demo">
        osgi.jdbc.driver.class=org.postgresql.Driver
        url=jdbc:postgresql://localhost:5432/demo
        xa=true
        pool=aries
        user=postgres
        password=postgres
        databaseName=demo
        dataSourceName=demo
    </config>
    <capability>
        osgi.service;objectClass=javax.sql.DataSource;effective:=active;osgi.jndi.service.name=demo
    </capability>
</feature>

<feature name="karaf-jpa-example-common" version="${project.version}">
    <feature>transaction</feature>
    <feature>jndi</feature>
    <feature>pax-jdbc-config</feature>
    <feature>pax-jdbc-postgresql</feature>
    <feature>pax-jdbc-pool-aries</feature>
    <feature>jdbc</feature>
    <feature dependency="true">aries-blueprint</feature>
    <feature version="[2,3)">jpa</feature>

    <feature version="[5,6)">hibernate</feature>
    <!--<feature version="[3,4)">openjpa3</feature>-->
    <bundle>mvn:org.apache.karaf.examples/karaf-jpa-example-provider-api/${project.version}</bundle>
</feature>

He hecho un método sencillo para hacer una operación como esta:

 @Transactional(Transactional.TxType.REQUIRES_NEW)
@Override
public void add(String flight, String customer) {
    int t = 0;
    for (;;) {
        System.out.println("adding new booking " + t);
        Booking booking = new Booking();
        booking.setCustomer(customer);
        booking.setFlight(flight);
        entityManager.persist(booking);

        t++;
        if (t > 10) {
            System.out.println("good bye ");
            Runtime.getRuntime().halt(-1);
        }
    }
}

el apache aries config (org.apache.aries.transacción.cfg) en /etc es este:

aries.transaction.recoverable=true
aries.transaction.timeout=10800
aries.transaction.howl.logFileDir=${karaf.data}/txlogTest
aries.transaction.howl.maxLogFiles=2
aries.transaction.howl.maxBlocksPerFile=512
org.apache.karaf.features.configKey = org.apache.aries.transaction

El problema es que no se comprometan en la txlogTest archivos de registro .Me pregunto si Apache aries apoyo recuperar transacción fallida o no . De hecho recuerdo que cuando he utilizado websphere cuando se empieza a recuperar todas las transacciones error de tranlog carpeta. Puedo hacer algo igual con karaf/Apache Aries?

Gracias

0
2019-09-18 16:03:28
fuente
0 respuestas

Vea otras preguntas sobre etiquetas