I am developing a notification system that writes to ActiveMQ. It seems to work great, for a while. I pushed about 250,000 messages to the topic, reading them on the subscriber all the while. We then stopped generating the messages. When we started again, I got the following error:
javax.jms.JMSException: java.lang.RuntimeException: org.apache.activemq.kaha.RuntimeStoreException: java.io.IOException: Could not locate data file data-topic-data-1 What does this mean? What caused it? I also noticed a very large number of open sockets from my producer machine to my ActiveMQ queue machine. Would this be related? I had assumed that a single socket would exist between them, but this was not the case. If it helps, here is the code I am using: /** * Send an event to the local singleton instance * * @param event event to send to the topic * @throws JMSException */ private void sendEventNotification(JMSNotificationEvent event) { try { TextMessage message = session.createTextMessage(event.toString()); producer.send(message); } catch (JMSException jmsx) { // we catch the first one in case the JMS server was brought down then back up logger.debug("JMSTopicManager: Send failed, refreshing JMS connection. Error was: " + jmsx); try { refreshJMSConnection(); TextMessage message = session.createTextMessage(event.toString()); producer.send(message); this.increment(event); } catch (JMSException jmsx2) { logger.error("JMSTopicManager: " + jmsx2); } } catch (Exception err) { logger.error("JMSTopicManager: " + err); } } And private void refreshJMSConnection() throws JMSException { ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, passwd, url); connection = connectionFactory.createConnection(); connection.start(); // Create the session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); destination = session.createTopic(JMSTopicManager.TOPIC_SUBJECT); // Create the producer. producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.PERSISTENT); if ( timeToLive > 0 ) { producer.setTimeToLive(timeToLive); } // set to true to indicate that the connection was established successfully initialized = true; } -- View this message in context: http://www.nabble.com/ActiveMQ-5.0.0-----Could-not-locate-data-file-data-topic-data-1-tp17063347s2354p17063347.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.