如何在轮询后将新传入的数据传递给另一个类

时间:2013-01-10 10:36:11

标签: java multithreading oop object methods

此类进行轮询并检查新的传入消息。现在我如何同时实现轮询和检查新数据?最后,所有数据都必须反馈给民意调查

public void run() {
int seqId = 0;
    while(true) {
        List<KamMessage> list = null;
        try {
            list = fullPoll(seqId);
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        if (!list.isEmpty()) {
            seqId = list.get(0).getSequence();
            incomingMessages.addAll(list);
            System.out.println("waiting 3 seconds");
            System.out.println("new incoming message");
        }
        try {
            Thread.sleep(3000);
            System.out.println("new incoming message");
        } catch (InterruptedException e) {
            e.printStackTrace();
        } 
    }
}
public List<KamMessage> fullPoll(int lastSeq) throws Exception {
Statement st = dbConnection.createStatement();
ResultSet rs = st.executeQuery("select * from msg_new_to_bde where ACTION =  804 and SEQ >" +
lastSeq + "order by SEQ DESC");      
    List<KamMessage> pojoCol = new ArrayList<KamMessage>();
    while (rs.next()) {
        KamMessage filedClass = convertRecordsetToPojo(rs);
        pojoCol.add(filedClass);
    }
    for (KamMessage pojoClass : pojoCol) {
        System.out.print(" " + pojoClass.getSequence());
        System.out.print(" " + pojoClass.getTableName());
        System.out.print(" " + pojoClass.getAction());
        System.out.print(" " + pojoClass.getKeyInfo1());
        System.out.print(" " + pojoClass.getKeyInfo2());
        System.out.println(" " + pojoClass.getEntryTime());
    }           
    return pojoCol;
} 

我的任务是从数据库中轮询表并检查新的传入消息。首先轮询我得到新的传入数据,现在我的问题是

1.如何将这些新数据传递到另一个类,以处理该消息。

2.如何将其反馈回数据库并再次呼叫轮询。

3.如何实现并行

0 个答案:

没有答案