【发布时间】:2017-09-05 16:03:15
【问题描述】:
我正在尝试在本教程中将 ActiveMQ 与 Tomcat 集成 How to embed ActiveMQ in Tomcat
当我启动服务器时,我收到 Failed to create directory 'activemq-data\localhost\KahaDB'。
如何解决?
另外我也不知道参数放哪里
-Dwebconsole.type=properties
-Dwebconsole.jms.url=tcp://localhost:61616 -Dwebconsole.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1099/Jmxrmi
日志:
java.lang.RuntimeException: java.io.IOException: 未能创建目录 'activemq-data\localhost\KahaDB' 在 org.apache.activemq.store.kahadb.KahaDBStore.size(KahaDBStore.java:1208) 在 org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter.size(KahaDBPersistenceAdapter.java:217) 在 org.apache.activemq.usage.StoreUsage.retrieveUsage(StoreUsage.java:56) 在 org.apache.activemq.usage.Usage.caclPercentUsage(Usage.java:283) 在 org.apache.activemq.usage.Usage.onLimitChange(Usage.java:188) 在 org.apache.activemq.usage.Usage.setLimit(Usage.java:172) 在 org.apache.activemq.broker.BrokerService.getSystemUsage(BrokerService.java:1156) 在 org.apache.activemq.broker.BrokerService.checkMemorySystemUsageLimits(BrokerService.java:2136) 在 org.apache.activemq.broker.BrokerService.start(BrokerService.java:599) 在 info.octera.utils.LoadActiveMQ.init(LoadActiveMQ.java:32) 在 javax.servlet.GenericServlet.init(GenericServlet.java:158) 在 org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1183) 在 org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099) 在 org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:989) 在 org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4921) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5231) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1439) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在 java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1439) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在 java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:655) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495) 原因:java.io.IOException:无法创建目录'activemq-data\localhost\KahaDB' 在 org.apache.activemq.util.IOHelper.mkdirs(IOHelper.java:331) 在 org.apache.activemq.store.kahadb.MessageDatabase.createPageFile(MessageDatabase.java:3118) 在 org.apache.activemq.store.kahadb.MessageDatabase.getPageFile(MessageDatabase.java:3283) 在 org.apache.activemq.store.kahadb.KahaDBStore.size(KahaDBStore.java:1206) ... 43 更多
【问题讨论】:
-
需要把这些参数放到tomcat启动脚本$CATALINA_HOME/bin/catalina.sh或者catalina.batstackoverflow.com/a/12407817/6506229
-
你能发布错误日志吗
-
今天我将 eclipse 和 Tomcat 移到 D 盘,项目正在运行。但是我怎样才能在文件夹 C:\Program Files\eclipse\activemq-data\localhost\KahaDB 中提供 Tomcat 读取和正确磁盘 C 的权限?