Details
-
Improvement
-
Resolution: Fixed
-
Neutral
-
None
-
None
-
None
Description
info.magnolia.rabbitmq.activation.commands.SplittedActivationProducerCommand extends BaseActivationCommand which no longer exists in Magnolia 5.6 publishing.
This causes ClassNotFoundExceptions when ConfirmationConsumer processes ACK messages:
2018-12-11 15:34:12,676 ERROR com.rabbitmq.client.impl.ForgivingExceptionHandler: Consumer info.magnolia.rabbitmq.consumers.ConfirmationConsumer@38954dc9 (confirmConsumer) method handleDelivery for channel AMQChannel(amqp://magnolia@127.0.0.1:5672/,1) threw an exception for channel AMQChannel(amqp://magnolia@127.0.0.1:5672/,1)2018-12-11 15:34:12,676 ERROR com.rabbitmq.client.impl.ForgivingExceptionHandler: Consumer info.magnolia.rabbitmq.consumers.ConfirmationConsumer@38954dc9 (confirmConsumer) method handleDelivery for channel AMQChannel(amqp://magnolia@127.0.0.1:5672/,1) threw an exception for channel AMQChannel(amqp://magnolia@127.0.0.1:5672/,1)java.lang.NoClassDefFoundError: info/magnolia/module/activation/commands/BaseActivationCommand at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_121] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_121] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_121] at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2277) ~[catalina.jar:8.5.12] at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:811) ~[catalina.jar:8.5.12] at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1254) ~[catalina.jar:8.5.12] at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119) ~[catalina.jar:8.5.12] at info.magnolia.rabbitmq.activation.io.StatusServiceImpl.updateActivationStatus(StatusServiceImpl.java:183) ~[magnolia-rabbitmq-activation-1.7.jar:?] at info.magnolia.rabbitmq.activation.io.StatusServiceImpl.notifyOnStatus(StatusServiceImpl.java:127) ~[magnolia-rabbitmq-activation-1.7.jar:?] at info.magnolia.rabbitmq.consumers.ConfirmationConsumer.processMessage(ConfirmationConsumer.java:91) ~[magnolia-rabbitmq-monitoring-1.7.jar:?] at info.magnolia.rabbitmq.activation.jobs.AckedMQConsumer.handleDelivery(AckedMQConsumer.java:74) ~[magnolia-rabbitmq-activation-1.7.jar:?] at com.rabbitmq.client.impl.ConsumerDispatcher$5.run(ConsumerDispatcher.java:149) [amqp-client-5.3.0.jar:5.3.0] at com.rabbitmq.client.impl.ConsumerWorkService$WorkPoolRunnable.run(ConsumerWorkService.java:104) [amqp-client-5.3.0.jar:5.3.0] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]Caused by: java.lang.ClassNotFoundException: info.magnolia.module.activation.commands.BaseActivationCommand at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285) ~[catalina.jar:8.5.12] at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119) ~[catalina.jar:8.5.12] ... 16 more
Also ACK messages are left in the ACK queue after the above exceptions.
Checklists
Acceptance criteria