You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by "Viali.Lee" <Vi...@Hotmail.COM> on 2007/08/10 10:48:54 UTC

Producer crashed when sending jms stream...

I tried to send a file to ActiveMQ through 
http://activemq.apache.org/jms-streams.html Jms Streams . And I stop the
sending process when the data is still being sent..however, the messages
which have been sent are still in the destination queue. What I want to know
is how to delete those messages when the producer crashed ??

package JMSStreams;
import java.io.*;
import java.util.Date;
import javax.jms.*;
import org.apache.activemq.*;

public class JmsStreamProducer 
{
	public static void main(String[] args) throws Exception 
	{
		ActiveMQConnectionFactory connectionFactory = new
ActiveMQConnectionFactory("tcp://localhost:61616");
		ActiveMQConnection connection = (ActiveMQConnection)
connectionFactory.createConnection();
		connection.start();

		ActiveMQSession session = (ActiveMQSession)
connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

		Destination destination = session.createQueue("message.larger.input");
		OutputStream out = connection.createOutputStream(destination);
		FileInputStream fileread = new FileInputStream(new
File("D://big-file.xml"));
		byte[] b = new byte[1024];
		int read = 0;
		boolean send = true;

		while ((read = fileread.read(b)) != -1) {
			if (send) {
				System.out.println("Begin To Send Large Message At "
						+ (new Date()));
				send = false;
			}
			out.write(b, 0, read);
		}
		fileread.close();
		out.close();

		session.close();
		connection.close();
		System.out.println("Finish Sending Large Message At " + (new Date()));
	}
}
-- 
View this message in context: http://www.nabble.com/Producer-crashed-when-sending-jms-stream...-tf4247394s2354.html#a12087511
Sent from the ActiveMQ - User mailing list archive at Nabble.com.