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

Public singleton API is not binary compatible with WF10

    XMLWordPrintable

Details

    Description

      The public singleton API changed recently and is not binary compatible any more.

      The change was introduced by: https://github.com/jbossas/jboss-eap7/pull/907/files#diff-dac46a30e73e80f516f0fb517f8999f3R44

      SingletonPolicy.java has changed:
      Now:

      <T> SingletonBuilder<T> createSingletonServiceBuilder(ServiceName name, Service<T> service);
      

      Before:

      <T> Builder<T> createSingletonServiceBuilder(ServiceName name, Service<T> service);
      

      The change is source compatible, however not binary compatible.

      This results in NoSuchMethodError:

      [JBossINF] [0m[31m02:26:32,982 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.unit."SStest-ejb-service-activator.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."SStest-ejb-service-activator.jar".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "SStest-ejb-service-activator.jar"
      [JBossINF] 	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154)
      [JBossINF] 	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1963)
      [JBossINF] 	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1896)
      [JBossINF] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      [JBossINF] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      [JBossINF] 	at java.lang.Thread.run(Thread.java:745)
      [JBossINF] Caused by: java.lang.NoSuchMethodError: org.wildfly.clustering.singleton.SingletonPolicy.createSingletonServiceBuilder(Lorg/jboss/msc/service/ServiceName;Lorg/jboss/msc/service/Service;)Lorg/wildfly/clustering/service/Builder;
      [JBossINF] 	at org.jboss.test.singletonservice.SingletonActivator.activate(SingletonActivator.java:29)
      [JBossINF] 	at org.jboss.as.server.deployment.service.ServiceActivatorProcessor.deploy(ServiceActivatorProcessor.java:91)
      [JBossINF] 	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147)
      [JBossINF] 	... 5 more
      

      Link to the server log:
      http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/perflab_eap-7x-failover-jvmkill-ha-ss/4/console-perf18/

      Attachments

        Issue Links

          Activity

            People

              pferraro@redhat.com Paul Ferraro
              pferraro@redhat.com Paul Ferraro
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: