案例:消费kafaka的消息,建立一个阻塞线程,主线程在随时更新数据,在kafaka 的阻塞线程中,只能拿到在服务器(tomcat )启动时候的数据,主线程在更新数据之后,阻塞线程不能获取到更改之后的数据, 始终是服务器启动时的数据,求解!
ps: 是通过jpa 获取的数据,代码如下:
String sql = "select c from " + clazz.getName() + " c ";
Set fieldNames = fieldNameValueMap.keySet();
Iterator iterator = fieldNames.iterator();
for(int query = 1; query <= fieldNames.size(); ++query) {
String i = (String)iterator.next();
if(query == 1) {
sql = sql + " where c." + i + " = ?" + query;
} else {
sql = sql + " and c." + i + " = ?" + query;
}
}
sql = sql + " order by c.updatedTime desc";
Query var9 = this.em.createQuery(sql);
iterator = fieldNames.iterator();
for(int var10 = 1; var10 <= fieldNames.size(); ++var10) {
String fieldName = (String)iterator.next();
var9.setParameter(var10, fieldNameValueMap.get(fieldName));
}
return var9.getResultList();