Cannot create destinations at startup when they have authorization requirements
Hi. I have a queue that is configured in a <authorizationPlugin> element so only some roles can read,write or admin it. I want to create this queue at startup, using <destinations>. When I try, activemq fails to start with a SecurityException I would say that the security constraints should not apply when creating destinations specified in the config file. However, if that isn't the case, is there anyway to set something like "runasRoles" in the config file? I'm using the latest release, 4.1.0. I've tried with a 4.2 snapshot from some days ago, but the same thing happens. Thanks, Carlos The exception stack trace: 2007-02-07 12:10:04,000 [main ] ERROR BrokerService - Failed to start ActiveMQ JMS Message Broker. Reason: java.lang.SecurityException: User is not authenticated. java.lang.SecurityException: User is not authenticated. at org.apache.activemq.security.AuthorizationBroker.addDestination(AuthorizationBroker.java:57) at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:152) at org.apache.activemq.broker.BrokerService.startDestinations(BrokerService.java:1429) at org.apache.activemq.broker.BrokerService.start(BrokerService.java:383) at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:47) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:290) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348) at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:161) at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:51) at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:41) at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:57) at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:82) at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:47) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:50) at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:65) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:50) at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.activemq.console.Main.runTaskClass(Main.java:159) at org.apache.activemq.console.Main.main(Main.java:91) 2007-02-07 12:10:04,000 [main ] INFO DefaultListableBeanFactory - Destroying singletons in {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer,org.apache.activemq.xbean.XBeanBrokerService]; root of BeanFactory hierarchy} 2007-02-07 12:10:07,890 [main ] INFO CollectionFactory - JDK 1.4+ collections available 2007-02-07 12:10:07,953 [main ] INFO XBeanXmlBeanDefinitionReader - Loading XML bean definitions from class path resource [activemq.xml] 2007-02-07 12:10:08,343 [main ] INFO ClassPathXmlApplicationContext - Bean factory for application context [org.apache.xbean.spring.context.ClassPathXmlApplicationContext;hashCode=19551481]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer,org.apache.activemq.xbean.XBeanBrokerService]; root of BeanFactory hierarchy 2007-02-07 12:10:08,359 [main ] INFO ClassPathXmlApplicationContext - 2 beans defined in application context [org.apache.xbean.spring.context.ClassPathXmlApplicationContext;hashCode=19551481] 2007-02-07 12:10:08,406 [main ] INFO ClassPathXmlApplicationContext - Unable to locate MessageSource with name 'messageSource': using default [EMAIL PROTECTED] 2007-02-07 12:10:08,406 [main ] INFO ClassPathXmlApplicationContext - Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [EMAIL PROTECTED] 2007-02-07 12:10:08,421 [main ] INFO DefaultListableBeanFactory - Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer,org.apache.activemq.xbean.XBeanBrokerService]; root of BeanFactory hierarchy] 2007-02-07 12:10:08,843 [main ] INFO BrokerService - ActiveMQ 4.1.0-incubator JMS Message Broker (soccerfury-activemq-broker) is starting 2007-02-07 12:10:08,843 [main ] INFO BrokerService - For help or more information please see: http://incubator.apache.org/activemq/ 2007-02-07 12:10:09,671 [main ] INFO JDBCPersistenceAdapter - Database driver recognized: [apache_derby_embedded_jdbc_driver] 2007-02-07 12:10:10,953 [main ] INFO DefaultDatabaseLocker - Attempting to acquire the exclusive lock to become the Master broker 2007-02-07 12:10:10,953 [main ] INFO DefaultDatabaseLocker - Becoming the master on dataSource: [EMAIL PROTECTED] 2007-02-07 12:10:11,031 [main ] INFO JournalPersistenceAdapter - Journal Recovery Started from: Active Journal: using 5 x 20.0 Megs at: C:\soccerfury\apache-activemq-4.1.0-incubator\activemq-data\journal 2007-02-07 12:10:11,078 [main ] INFO JournalPersistenceAdapter - Journal Recovered: 0 message(s) in transactions recovered. 2007-02-07 12:10:11,203 [main ] ERROR BrokerService - Failed to start ActiveMQ JMS Message Broker. Reason: java.lang.SecurityException: User is not authenticated. java.lang.SecurityException: User is not authenticated. at org.apache.activemq.security.AuthorizationBroker.addDestination(AuthorizationBroker.java:57) at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:152) at org.apache.activemq.broker.BrokerService.startDestinations(BrokerService.java:1429) at org.apache.activemq.broker.BrokerService.start(BrokerService.java:383) at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:47) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:290) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348) at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:161) at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:51) at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:41) at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:57) at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:82) at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:47) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:50) at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:65) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:50) at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.activemq.console.Main.runTaskClass(Main.java:159) at org.apache.activemq.console.Main.main(Main.java:91) 2007-02-07 12:10:11,203 [main ] INFO DefaultListableBeanFactory - Destroying singletons in {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer,org.apache.activemq.xbean.XBeanBrokerService]; root of BeanFactory hierarchy} -- View this message in context: http://www.nabble.com/Cannot-create-destinations-at-startup-when-they-have-authorization-requirements-tf3186784s2354.html#a8844737 Sent from the ActiveMQ - User mailing list archive at Nabble.com.