【发布时间】:2017-08-09 01:01:49
【问题描述】:
在集群的 intershop 环境中,我们会看到很多错误消息。我怀疑应用服务器之间的通信不可靠。
Caused by: com.intershop.beehive.orm.capi.common.ORMException:
Could not UPDATE object: com.intershop.beehive.bts.internal.orderprocess.basket.BasketPO
本地应用服务器是否有安全的方式来加载最新的实例。
BasketPO basket = null;
try{
BasketPOFactory factory = (BasketPOFactory) NamingMgr.getInstance().lookupFactory(BasketPOFactory.FACTORY_NAME);
try(ORMObjectCollection<BasketPO>baskets = factory.getObjectsBySQLWhere("uuid=?", new Object[]{basketID},CacheMode.NO_CACHING);){
if(null != baskets && !baskets.isEmpty()){
basket = baskets.stream().findFirst().get();
}
}
}
catch(Throwable t){
Logger.error(this, t.getMessage(),t);
}
ORMObject#refresh 方法有帮助吗?
try{
if(null != basket)
basket.refresh();
}
catch(Throwable t){
Logger.error(this, t.getMessage(),t);
}
【问题讨论】:
-
如果服务器看到/缓存过时的数据,很可能是服务器间通信不起作用,您无法以编程方式解决该问题。我的回答中提供了其他解释。
标签: intershop