gpt4 book ai didi

spring - 从 drools session 中删除对象并在 spring 中重用相同的 session

转载 作者:行者123 更新时间:2023-12-02 04:34:44 26 4
gpt4 key购买 nike

我在服务类中使用 Autowiring 的 StatefulKnowledgeSession。

@Service("vbOrderService")
public class VbOrderService {

@Autowired
private VbOrderDao vbOrderDao ;

@Autowired
StatefulKnowledgeSession vbDiscSession;

public CpSellerDetails getStep1Data(Integer grpSellerId,Integer catalogueId) throws DataNotFoundException{
return vbOrderDao.getStep1Data(grpSellerId,null,catalogueId);
}
/*public CpSellerDetails getStep1Data(Integer cp_id,Integer orderno) throws DataNotFoundException{
return vbOrderDao.getStep1Data(cp_id,orderno);
}*/
public void getStep2Data(Integer cp_id,VbCpInfoBean info) throws DataNotFoundException{
vbOrderDao.getStep2Data(cp_id,info);
}
public Integer updateStep2Data(VbCpInfoBean info,Integer cp_id) throws UpdateFailedException{
return vbOrderDao.updateStep2Data(info,cp_id);
}

public void getOrderStep3(CpSellerDetails sellerDetails) throws DataNotFoundException {
vbOrderDao.getOrderStep3(sellerDetails);
fireRules(sellerDetails);
}
public void orderStep4(LoginBean user,CpSellerDetails sellerDetails) throws UpdateFailedException {
vbOrderDao.orderStep4(user,sellerDetails);
// fireRules(sellerDetails);
}
public CpSellerDetails getOrderDetailsForPdfGeneration(String orderno,
int user) throws DataNotFoundException {
return vbOrderDao.getOrderDetailsForPdfGeneratio(orderno,user);
}
public void addNewAddress(Address address) throws UpdateFailedException {
vbOrderDao.addNewAddress(address);
}
private void fireRules(CpSellerDetails sellerDetails){
vbDiscSession.insert(sellerDetails);
vbDiscSession.fireAllRules();
}
}

是否可以从 getOrderStep3() 调用的 fireRules() 中的 session 中删除插入的对象,并为进一步的请求重用相同的 StatefulKnowledgeSession。如果可能,如何实现

最佳答案

我经常这样做是为了确保在需要时间重新插入大量“静态数据”事实的 session 中的性能。

// Insert a fact and get a handle on to it
FactHandle handle = mySession.insert(myFact);

// Fire rules
mySession.fireAllRules();

// And retract the fact
mySession.retract(handle);

您可能希望在撤回后再次触发所有规则,以使 session 恢复到之前的状态。

关于spring - 从 drools session 中删除对象并在 spring 中重用相同的 session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22215312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com