0
我在我的應用程序中使用ActiveMQ。我的問題是如何刪除從kahadb成功使用的消息。因爲如果它沒有被刪除,我的db.data文件就會不斷增長。activemq刪除消耗的郵件
這是我的消費者;
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:8182");
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("TEST.FOO");
MessageConsumer consumer = session.createConsumer(destination);
MessageListener listner = new MessageListener() {
int count = 0;
public void onMessage(Message message) {
if (message instanceof ObjectMessage) {
ObjectMessage objectMessage = (ObjectMessage) message;
ResponseDuration responseDuration = null;
try {
responseDuration = (ResponseDuration) objectMessage.getObject();
System.out.println("Received Time : " + new Date() + "Received: " + responseDuration.toString());
} catch (JMSException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
ResponseDurationOperations.insertResponseDurations(responseDuration);
count++;
System.out.println("Count = " + count);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
};
consumer.setMessageListener(listner);
任何幫助,我只是想刪除db.data文件的消息後,消費者得到的消息 – turkuaz07
我的問題是相反的,我使用的是Oracle的持久性。消息被使用後會從數據庫中刪除,我怎樣才能永遠保留消息? –
@NikhilJoshi:我也在尋找你的問題。目前對我們來說,消費者正在將新的協議隊列中的每個消費者消息發送出去所以我們每天都會用消息來排隊。但是肯定的是,必須有一些與ActiveMQ本身相關的東西? – timguy