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/reso...
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