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

Public singleton API is not binary compatible with WF10

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 11.0.0.Alpha1
    • No Release
    • Clustering
    • None

      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/

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

                Created:
                Updated:
                Resolved: