You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by James Strachan <ja...@gmail.com> on 2007/04/11 21:35:42 UTC

Re: problems about database when starting a in-vm broker

Could you show the entire logs, with debug enabled maybe. I suspect
the mysql database does not have SQL permissions to create the
ActiveMQ SQL schema (which it tries to create by default on startup)


On 4/10/07, hyqgod <hy...@163.com> wrote:
>
> i am planning to use spring to start a in-vm activemq broker in tomcat. But
> when i start the tomcat, i get the error messages below in the log file
> which means that i don't create a table for activemq,
>     nested exception is java.io.IOException: Failed to get last broker
> message id: java.sql.SQLException: Table 'activemq.ACTIVEMQ_ACKS' doesn't
> exist org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService'
> defined in ServletContext resource [/WEB-INF/activemq.xml]: Invocation of
> init method failed; nested exception is java.io.IOException: Failed to get
> last broker message id: java.sql.SQLException: Table
> 'activemq.ACTIVEMQ_ACKS' doesn't exist
> Caused by: java.io.IOException: Failed to get last broker message id:
> java.sql.SQLException: Table 'activemq.ACTIVEMQ_ACKS' doesn't exist
>         at
> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:31)
>         at
> org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.getLastMessageBrokerSequenceId(JDBCPersistenceAdapter.java:146)
>         at
> org.apache.activemq.store.journal.JournalPersistenceAdapter.getLastMessageBrokerSequenceId(JournalPersistenceAdapter.java:185)
>         at
> org.apache.activemq.broker.region.DestinationFactoryImpl.getLastMessageBrokerSequenceId(DestinationFactoryImpl.java:148)
>         at
> org.apache.activemq.broker.region.RegionBroker.<init>(RegionBroker.java:109)
>         at
> org.apache.activemq.broker.jmx.ManagedRegionBroker.<init>(ManagedRegionBroker.java:100)
>         at
> org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:1385)
>         at
> org.apache.activemq.broker.BrokerService.createBroker(BrokerService.java:1319)
>         at
> org.apache.activemq.broker.BrokerService.getBroker(BrokerService.java:521)
>         at
> org.apache.activemq.broker.BrokerService.getAdminConnectionContext(BrokerService.java:1558)
>         at
> org.apache.activemq.broker.BrokerService.startDestinations(BrokerService.java:1544)
>         at org.apache.activemq.broker.BrokerService.start(BrokerService.java:411)
>         at
> org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:47)
>
> i try to find the answer,but get nothing,so could anyone can help me?
>
> by the way: my activemq broker configuration file's content is :
>
>   <?xml version="1.0" encoding="utf-8"?>
> <beans>
>          <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>          <broker persistent="true" brokerName="localhost" dataDirectory="data"
> xmlns="http://activemq.org/config/1.0" start="true">
>         <destinations>
>                 <queue physicalName="JSI.QUEUE.TEST" />
>                 <topic physicalName="JSI.TOPIC.TEST" />
>         </destinations>
>         <transportConnectors>
>        <transportConnector name="openwire" uri="tcp://localhost:61616"
> discoveryUri="multicast://default"/>
>        <transportConnector name="ssl"     uri="ssl://localhost:61617"/>
>        <transportConnector name="stomp"   uri="stomp://localhost:61613"/>
>        <transportConnector name="xmpp"    uri="xmpp://localhost:61222"/>
>     </transportConnectors>
>
>     <!-- The store and forward broker networks ActiveMQ will listen to -->
>     <networkConnectors>
>       <!-- by default just auto discover the other brokers -->
>       <networkConnector name="default-nc" uri="multicast://default"/>
>     </networkConnectors>
>
>
>     <!-- Use the following if you wish to configure the journal with JDBC
> -->
>     <persistenceAdapter>
>         <journaledJDBC journalLogFiles="5" dataDirectory="activemq-data"
> dataSource="#mysql-ds"/>
>     </persistenceAdapter>
>
>  </broker>
>
>  <!-- lets create a command agent to respond to message based admin commands
> on the ActiveMQ.Agent topic -->
>   <commandAgent  xmlns="http://activemq.org/config/1.0"/>
>
>   <!-- MySql DataSource Sample Setup -->
>    <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource"
> destroy-method="close">
>     <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
>     <property name="url"
> value="jdbc:mysql://10.10.3.137/activemq?relaxAutoCommit=true"/>
>     <property name="username" value="activemq"/>
>     <property name="password" value="activemq"/>
>     <property name="poolPreparedStatements" value="true"/>
>   </bean>
> </beans>
>
> --
> View this message in context: http://www.nabble.com/problems-about-database-when-starting-a--in-vm-broker-tf3553097s2354.html#a9920108
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Re: problems about database when starting a in-vm broker

Posted by hyqgod <hy...@163.com>.
i get the log infomation from my tomcat logs ,i don't know whether it is you
want .. that is the entire log info below:

2007-04-11 10:13:03 StandardContext[/ActiveMQ-Web]Failed to create broker:
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'org.apache.activemq.xbean.XBeanBrokerService' defined in
ServletContext resource [/WEB-INF/activemq.xml]: Invocation of init method
failed; nested exception is java.io.IOException: Failed to get last broker
message id: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table
'activemq.ACTIVEMQ_ACKS' doesn't exist
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'org.apache.activemq.xbean.XBeanBrokerService' defined in
ServletContext resource [/WEB-INF/activemq.xml]: Invocation of init method
failed; nested exception is java.io.IOException: Failed to get last broker
message id: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table
'activemq.ACTIVEMQ_ACKS' doesn't exist
Caused by: java.io.IOException: Failed to get last broker message id:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table
'activemq.ACTIVEMQ_ACKS' doesn't exist
	at
org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:31)
	at
org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.getLastMessageBrokerSequenceId(JDBCPersistenceAdapter.java:146)
	at
org.apache.activemq.store.journal.JournalPersistenceAdapter.getLastMessageBrokerSequenceId(JournalPersistenceAdapter.java:185)
	at
org.apache.activemq.broker.region.DestinationFactoryImpl.getLastMessageBrokerSequenceId(DestinationFactoryImpl.java:148)
	at
org.apache.activemq.broker.region.RegionBroker.<init>(RegionBroker.java:109)
	at
org.apache.activemq.broker.jmx.ManagedRegionBroker.<init>(ManagedRegionBroker.java:100)
	at
org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:1385)
	at
org.apache.activemq.broker.BrokerService.createBroker(BrokerService.java:1319)
	at
org.apache.activemq.broker.BrokerService.getBroker(BrokerService.java:521)
	at
org.apache.activemq.broker.BrokerService.getAdminConnectionContext(BrokerService.java:1558)
	at
org.apache.activemq.broker.BrokerService.startDestinations(BrokerService.java:1544)
	at org.apache.activemq.broker.BrokerService.start(BrokerService.java:411)
	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.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
	at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
	at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
	at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
	at
org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
	at
org.apache.activemq.web.SpringBrokerContextListener.createBroker(SpringBrokerContextListener.java:110)
	at
org.apache.activemq.web.SpringBrokerContextListener.contextInitialized(SpringBrokerContextListener.java:72)
	at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
	at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
	at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
	at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
	at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
	at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:701)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
	at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
	at org.apache.catalina.core.StandardService.start(StandardService.java:480)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
	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.catalina.startup.Bootstrap.start(Bootstrap.java:287)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table
'activemq.ACTIVEMQ_ACKS' doesn't exist
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
	at
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1268)
	at
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1403)
	at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
	at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
	at
org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doGetLastMessageBrokerSequenceId(DefaultJDBCAdapter.java:148)
	at
org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.getLastMessageBrokerSequenceId(JDBCPersistenceAdapter.java:143)
	... 52 more

2007-04-11 10:13:03 StandardContext[/ActiveMQ-Web]Starting ActiveMQ Broker
2007-04-11 10:13:03 StandardContext[/ActiveMQ-Web]Failed to start ActiveMQ
broker: java.lang.NullPointerException
java.lang.NullPointerException
	at
org.apache.activemq.web.SpringBrokerContextListener.contextInitialized(SpringBrokerContextListener.java:76)
	at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
	at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
	at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
	at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
	at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
	at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:701)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
	at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
	at org.apache.catalina.core.StandardService.start(StandardService.java:480)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
	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.catalina.startup.Bootstrap.start(Bootstrap.java:287)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)


James.Strachan wrote:
> 
> Could you show the entire logs, with debug enabled maybe. I suspect
> the mysql database does not have SQL permissions to create the
> ActiveMQ SQL schema (which it tries to create by default on startup)
>> View this message in context:
>> http://www.nabble.com/problems-about-database-when-starting-a--in-vm-broker-tf3553097s2354.html#a9920108
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> 
> James
> -------
> http://radio.weblogs.com/0112098/
> 
> 

-- 
View this message in context: http://www.nabble.com/problems-about-database-when-starting-a--in-vm-broker-tf3553097s2354.html#a9951742
Sent from the ActiveMQ - User mailing list archive at Nabble.com.