WildFly's transaction subsystem needs a diet (too much Artemis!)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

WildFly's transaction subsystem needs a diet (too much Artemis!)

Tristan Tarrant
Hi all,

ever since wildfly-core was conceived I've wanted to deliver an
Infinispan Server distribution based on it using a feature-pack.
Unfortunately this has not been possible because we depend on two
subsystems which are not part of core: datasource and transactions.
Our current approach, therefore,  implements a feature pack based on the
full wildfly. We then use some scripts to build a tree of module
dependencies, we identify unused modules and we trim them from the final
distribution.
Unfortunately this trimming is not effective as it could be because of
the org.jboss.as.transactions module which pulls in a ton of
nono-optional dependencies. You can find the dependency tree at the end
of this e-mail.
In particular the culprit seems to be org.jboss.jts which depends on
org.apache.activemq.artemis which in turn is a kitchen-sink of artemis-*
dependencies. [1]

I guess Narayana is only really interested in Artemis' journal, so the
laziness of the artemis module is particularly painful.

Can the artemis-journal/artemis-native jars be split out into their own
independent module ? This might be harder than it seems as the journal
classes seem to depend on artemis-server, so deeper surgery is needed.

Tristan

[1]
https://github.com/wildfly/wildfly/blob/master/feature-pack/src/main/resources/modules/system/layers/base/org/jboss/jts/main/module.xml#L44


org.jboss.as.transactions
       org.jboss.jboss-transaction-spi
         javax.resource.api
       org.jboss.jts
         org.omg.api
           javax.orb.api
             org.wildfly.iiop-openjdk
               org.jboss.metadata.ejb
               org.jboss.jts.integration
             org.jboss.iiop-client
               javax.ejb.api
                 javax.xml.rpc.api
                   javax.xml.soap.api
                 javax.rmi.api
         org.apache.activemq.artemis
           com.google.guava
           javax.jms.api
           org.apache.commons.beanutils
           org.wildfly.extension.messaging-activemq
             org.apache.activemq.artemis.ra
             org.jboss.as.cli
               org.jboss.aesh
                 org.fusesource.jansi
               org.wildfly.embedded
             org.jboss.as.weld
               ch.qos.cal10n
               javax.persistence.api
               org.hibernate.validator.cdi
                 org.hibernate.validator
                   com.fasterxml.classmate
                   org.jboss.weld.core
                     org.jboss.weld.api
                     org.jboss.weld.spi
                   org.jsoup
               org.wildfly.extension.bean-validation
               org.jboss.as.ejb3
                 org.hibernate
                 org.wildfly.clustering.api
                 org.wildfly.clustering.ee.spi
                 org.wildfly.clustering.ejb.spi
                   org.jboss.ejb-client
                   org.wildfly.clustering.service
                 org.wildfly.clustering.marshalling.api
                 org.wildfly.clustering.marshalling.jboss
                 org.wildfly.clustering.spi
                   org.wildfly.clustering.ejb.infinispan
                     org.wildfly.clustering.ee.infinispan
                     org.wildfly.clustering.infinispan.spi
                     org.wildfly.clustering.server
                       org.wildfly.clustering.jgroups.spi
                         org.wildfly.clustering.jgroups.api
                       org.wildfly.clustering.singleton
                   org.wildfly.clustering.web.infinispan
                     net.jcip
                     org.wildfly.clustering.web.api
                     org.wildfly.clustering.web.spi
                 org.jboss.as.connector
                   org.jboss.ironjacamar.api
                   org.jboss.ironjacamar.impl
                   org.jboss.ironjacamar.jdbcadapters
                 org.jboss.ejb3
               org.jboss.as.webservices.server.integration
                 asm.asm
                 javax.jws.api
                 javax.wsdl4j.api
                 javax.xml.ws.api
                 org.jboss.as.webservices
                 com.sun.xml.messaging.saaj
                 org.apache.ws.security
                   org.apache.neethi
                   org.opensaml
                     org.bouncycastle
                 org.jboss.xts
                   org.jboss.narayana.compensations
                   org.jboss.narayana.txframework
               org.slf4j.ext
             org.hornetq.client
--
Tristan Tarrant
Infinispan Lead
JBoss, a division of Red Hat
_______________________________________________
wildfly-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/wildfly-dev