我编写了一个Java jms代码来执行消息,我的问题是我在列表中有10条记录,它正在处理前两个记录,并且由于第三条记录为空,因此从第三条记录开始未处理,请帮我跳过空消息,并进行for循环以处理剩余记录。 如果任何消息为空,是否可以跳过并继续。 在此先感谢
我的日志在else部分中记录了失败的“空指针异常”,并且进一步退出循环了。
我的Java代码:
for (createTestbean createTestBean : createTestbeanList) {
String createTestMessage = createTestBean.getMessage();
TextMessage textMessage = queueSession
.createTextMessage(createTestMessage);
TextMessage tm;
String replymessage = null ;
String code = null;
Message message = queueReceiver.receive(60 * 1000);
if (message != null) {
logger.info("Received message:\n" + message);
tm =(TextMessage) message;
logger.info("Message:" + tm.getText());
replymessage =tm.getText();
} else {
logger.info("No message received!\n");
recordFailure(null);
}
code = replymessage.split(",")[2];
createTestDAO rmdao = new createTestDAO();
rmdao.updateCreateTest(replymessage,code);
}
答案 0 :(得分:0)
您可以使用continue
语句来完成此操作:
if (createTestBean == null)
continue;
如果creatTestBean为null,它将直接跳到循环的update语句。