activemq报错:Failed to start ActiveMQ JMS Message Broker. Reason: java.io.EOFException: Chunk stream d

来源:互联网 发布:win10自带软件 编辑:程序博客网 时间:2024/06/10 19:07
2016-10-11 17:16:25,452 | ERROR | Failed to start ActiveMQ JMS Message Broker. Reason: java.io.EOFException: Chunk stream does not exist at page: 0 | org.apache.activemq.broker.BrokerService | mainjava.io.EOFException: Chunk stream does not exist at page: 0at org.apache.kahadb.page.Transaction$2.readPage(Transaction.java:454)at org.apache.kahadb.page.Transaction$2.<init>(Transaction.java:431)at org.apache.kahadb.page.Transaction.openInputStream(Transaction.java:428)at org.apache.kahadb.page.Transaction.load(Transaction.java:404)at org.apache.kahadb.page.Transaction.load(Transaction.java:361)at org.apache.activemq.broker.scheduler.JobSchedulerStore$3.execute(JobSchedulerStore.java:250)at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)at org.apache.activemq.broker.scheduler.JobSchedulerStore.doStart(JobSchedulerStore.java:239)at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:53)at org.apache.activemq.broker.scheduler.SchedulerBroker.getStore(SchedulerBroker.java:198)at org.apache.activemq.broker.scheduler.SchedulerBroker.getInternalScheduler(SchedulerBroker.java:185)at org.apache.activemq.broker.scheduler.SchedulerBroker.start(SchedulerBroker.java:85)at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:157)at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:157)at org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:112)at org.apache.activemq.broker.BrokerService$3.start(BrokerService.java:1786)at org.apache.activemq.broker.BrokerService.start(BrokerService.java:496)at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:60)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1536)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:96)at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:143)at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:85)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)at org.apache.activemq.console.Main.runTaskClass(Main.java:251)at org.apache.activemq.console.Main.main(Main.java:107)


经过搜索了之后,悲催的发现这个是ActiveMQ5.4.1的一个bug。在5.5里面给解决了。

its a known bug and fixed in current trunk (5.5-SNAPSHOT).

https://issues.apache.org/jira/browse/AMQ-2935

    但是为了避免在学习的过程中,因为版本不匹配等原因产生问题,于是继续搜索,终于找到了解决办法。主要是由于 5.4.1 这个版本引入延迟发送的功能引起的, 解决办法是在<broker>中添加 schedulerSupport="false" 属性,禁掉scheduler功能。

conf下activemq.xml

<broker xmlns="http://activemq.apache.org/schema/core " brokerName="SIBBusModule-TestDeCharge-td0sib01s" useJmx="true" persistent="false" useShutdownHook="false" schedulerSupport="false" >
还有就是删除activemq目录下的data/xxxx/scheduler 下的所有内容,不过这种我没有尝试

0 0
原创粉丝点击