Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
qpid-java-6.0
-
None
Description
When Virtual Host of certain type is declared in the configuration store but its implementation is not present in the classpath Broker evaluates Virtual Host type as Provided and throws Exception as below:
2015-12-21 10:05:57,422 ERROR [Broker-Config] (o.a.q.s.m.AbstractConfiguredObject) - Failed to open object with name 'default'. Object will be put into ERROR state. org.apache.qpid.server.configuration.IllegalConfigurationException: Provided type is BDB but calculated type is ProvidedStore at org.apache.qpid.server.model.AbstractConfiguredObject.<init>(AbstractConfiguredObject.java:263) [qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.model.AbstractConfiguredObject.<init>(AbstractConfiguredObject.java:204) [qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.model.AbstractConfiguredObject.<init>(AbstractConfiguredObject.java:196) [qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.virtualhost.AbstractVirtualHost.<init>(AbstractVirtualHost.java:210) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.virtualhost.ProvidedStoreVirtualHostImpl.<init>(ProvidedStoreVirtualHostImpl.java:50) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.virtualhost.ProvidedStoreVirtualHostImplFactory.createInstance(ProvidedStoreVirtualHostImplFactory.java:39) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.virtualhost.ProvidedStoreVirtualHostImplFactory.createInstance(ProvidedStoreVirtualHostImplFactory.java:28) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory$GenericUnresolvedConfiguredObject.resolve(AbstractConfiguredObjectTypeFactory.java:145) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory$GenericUnresolvedConfiguredObject.resolve(AbstractConfiguredObjectTypeFactory.java:125) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.store.GenericRecoverer.resolveObjects(GenericRecoverer.java:186) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:91) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:270) [qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:154) [qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:182) [qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.store.GenericRecoverer.recover(GenericRecoverer.java:54) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.perform(VirtualHostStoreUpgraderAndRecoverer.java:551) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode.activate(AbstractStandardVirtualHostNode.java:104) ~[qpid-broker-core-6.0.0.jar:6.0.0] at org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:160) ~[qpid-broker-core-6.0.0.jar:6.0.0]
The exception message does not really indicates that type is not available. It could be confusing and might consume some extra time on debugging the issue in scenarios requiring embedding Broker into application but somehow the required VH library is missed in the classpath.