-
Bug
-
Resolution: Done
-
Critical
-
No Release
-
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/
- clones
-
JBEAP-7367 Public singleton API is not binary compatible with EAP 7.0
- Closed