Thomas Diesler created WFLY-1559:
------------------------------------
Summary: Cannot reliably use optional service dependencies
Key: WFLY-1559
URL: https://issues.jboss.org/browse/WFLY-1559
Project: WildFly
Issue Type: Bug
Components: MSC
Reporter: Thomas Diesler
Assignee: David Lloyd
Fix For: 8.0.0.Alpha2
The OSGi transaction extension uses this code to define dependencies on some Tx services
{code}
builder.addDependency(DependencyType.OPTIONAL, TransactionManagerService.SERVICE_NAME, TransactionManager.class, injectedTransactionManager);
builder.addDependency(DependencyType.OPTIONAL, UserTransactionService.SERVICE_NAME, UserTransaction.class, injectedUserTransaction);
{code}
and later registers OSGi services from it
{code}
TransactionManager transactionManager = injectedTransactionManager.getOptionalValue();
if (transactionManager != null) {
systemContext.registerService(TransactionManager.class.getName(), transactionManager, null);
}
UserTransaction userTransaction = injectedUserTransaction.getOptionalValue();
if (userTransaction != null) {
systemContext.registerService(UserTransaction.class.getName(), userTransaction, null);
}
{code}
The intension is that if the Tx subsystem is not configured these services are not available in the OSGi service registry.
I see intermittent failures because the Tx services are not injected and suspect that this is due to a race condition in subsystem startup.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira