activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From DavidS4 <>
Subject ActiveMQ 5.0.0 --- Could not locate data file data-topic-data-1
Date Mon, 05 May 2008 14:48:40 GMT

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: 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)
			TextMessage message = session.createTextMessage(event.toString());
		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);
			    TextMessage message = session.createTextMessage(event.toString());

			catch (JMSException jmsx2)
				logger.error("JMSTopicManager: " + jmsx2);
		catch (Exception err)
			logger.error("JMSTopicManager: " + err);


	private void refreshJMSConnection() throws JMSException
		ActiveMQConnectionFactory connectionFactory = new
ActiveMQConnectionFactory(user, passwd, url);
		connection = connectionFactory.createConnection();

		// Create the session
		session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
		destination = session.createTopic(JMSTopicManager.TOPIC_SUBJECT);

		// Create the producer.
		producer = session.createProducer(destination);
		if ( timeToLive > 0 )
		// set to true to indicate that the connection was established
	    initialized = true;
View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message