[wildfly-dev] Module slots may be deprecated

Scott Marlow smarlow at redhat.com
Tue Jun 21 19:13:48 EDT 2016


This might impact the second Infinispan module name that OGM will likely 
use for remote Infinispan access, since the base module name was going 
to be identical to the WildFly infinispan module, with the slot name 
used to distinguish between the different Infinispan modules.

The WildFly JPA container currently supports a persistence unit hint 
(jboss.as.jpa.providerModule=name) to specify a non-default persistence 
provider.  This is probably used by some applications.  Recently, Sanne 
also mentioned some use cases for Hibernate Search applications to 
depend on jboss.as.jpa.providerModule as well.  Applications that 
currently include the slot with "jboss.as.jpa.providerModule", could 
need changes when the slot support is removed.

Have you created a WFLY tracking issue yet for deprecating module slots? 
  I'm thinking that the JPA container should check if 
"jboss.as.jpa.providerModule" specifies a slot and if yes, log a 
deployment warning about the application referencing a slot that needs 
change to not require the slot.  We should also create a dependent jira 
for the JPA container change to log the warning.

The JPA container also supports a similar "jboss.as.jpa.adapterModule" 
persistence unit property but I don't think that is used much, if at 
all.  Applications that specify a slot in 
"jboss.as.jpa.adapterModule=name", should also get a deployment warning 
logged about deprecated slot usage.

The other related change, will be the convention that we use for legacy 
Hibernate module names, which use the module slot as well.

 From a compatibility point of view, of future WildFly versions, with 
WildFly 10, when we pull the switch for removing module slot support 
completely, I'm not really sure if that breaks application compatibility 
or more that the user needs to move the system/user modules that use 
slot, to a non-slot module.  For example, if the application persistence 
unit specifies "jboss.as.jpa.providerModule=org.hibernate:4.1", then the 
user will need to move their Hibernate 4.x jars into a different folder.

Another thing, I'm not sure if in that future WildFly version that 
removes slots completely, if the JPA container, should translate the 
"jboss.as.jpa.providerModule=org.hibernate:4.1" into ModuleName + slot, 
with the colon separator removed, so 
"jboss.as.jpa.providerModule=org.hibernate:4.1" becomes 
""jboss.as.jpa.providerModule=org.hibernate4.1", which could cause a 
deployment error until the user moves the Hibernate jars from 
"org.hibernate:4.1" to "jboss.as.jpa.providerModule=org.hibernate4.1" 
(in the user or system module folder).

Scott


More information about the wildfly-dev mailing list