中文比较文档:http://www.cnblogs.com/mgod/archive/2007/08/05/844011.html
其他例子:
http://www.oschina.net/question/82801_22334
http://www.blogjava.net/liaojiyong/archive/2007/02/26/100663.html
http://blog.csdn.net/walkstruggle/article/details/6667093
以下是完整的消息队列代码:
public class
MessageCollection {
static
LinkedList messageList = new
LinkedList();
public static void addMessage(String
msg)
{
synchronized(messageList){
System.out.println("Enter
addMessage!");
messageList.add(msg);
}
}
public static String popMessage()
{
String str =
"";
synchronized(messageList){
System.out.println("Enter
popMessage!");
str = messageList.poll();
}
return str;
}
//执行数据库操作失败,调用rollback,将数据写回队列
public static void rollback(String
str)
{
addMessage(str);
}
public boolean isEmpty(){
return messageList.isEmpty();
}
}
写库的程序作为一个新的线程启动,具体的启动代码是:
Thread thread = new
Thread(dealDatabase);
thread.start();