Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-17655

The TransactionsBootstrapDependencyInstaller should not assume the global transaction provider is available

XMLWordPrintable

      The TransactionsBootstrapDependencyInstaller installs a WeldTransactionServices and assumes the org.wildfly.transactions.global-default-local-provider service is available. In most cases this is okay. However, when you provision a full server, but have a configuration that does not include transactions an error can occur as the service is not installed. An example of the error message is:

      2023-02-21 09:18:19,958 ERROR [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0021: Deploy of deployment "BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war" was rolled back with the following failure message:
      {
          "WFLYCTL0412: Required services that are not installed:" => [
              "jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldBootstrapService",
              "org.wildfly.transactions.global-default-local-provider"
          ],
          "WFLYCTL0180: Services with missing/unavailable dependencies" => [
              "jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".component.\"org.jboss.arquillian.protocol.servlet5.runner.ServletTestRunner\".WeldInstantiator is missing [jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldBootstrapService]",
              "jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldStartService is missing [jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldBootstrapService]",
              "jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".beanmanager is missing [jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldBootstrapService]",
              "jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".component.\"org.jboss.weld.module.web.servlet.WeldInitialListener\".WeldInstantiator is missing [jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldBootstrapService]",
              "jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".component.\"org.jboss.weld.module.web.servlet.WeldTerminalListener\".WeldInstantiator is missing [jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldBootstrapService]",
              "jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldEndInitService is missing [jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldBootstrapService]",
              "jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldTransactionServices is missing [org.wildfly.transactions.global-default-local-provider]",
              "jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".component.\"jakarta.servlet.jsp.jstl.tlv.PermittedTaglibsTLV\".WeldInstantiator is missing [jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldBootstrapService]",
              "jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".component.\"jakarta.servlet.jsp.jstl.tlv.ScriptFreeTLV\".WeldInstantiator is missing [jboss.deployment.unit.\"BeanContainerTestf8158626565fbef3d9e4adc5286456a4a68449b.war\".WeldBootstrapService]"
          ]
      }
      

      This was found when working on WFLY-17648 and the Jakarta EE Core TCK. The fix is to check if the org.wildfly.transactions.global-default-local-provider capability exists. If it does not, simply do not register the service.

      It looks like the SecurityBootstrapDependencyInstaller should be safe. It checks if security domain is null and returns a default if it is. This should be safe to always install.

            jperkins-rhn James Perkins
            jperkins-rhn James Perkins
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: