我不太确定这是更多的Openbravo问题还是更多的Quartz问题,但我们有一些手动流程通过Openbravo ProcessRequest对象(OB v2.50MP24)按计划运行,但似乎进程运行了两次,在同一时间.Openbravo扩展了Quartz平台以进行调度.我试图通过确保我的流程类扩展此类来自行解决此问题:
import java.util.List;
import org.openbravo.dal.service.OBDal;
import org.openbravo.model.ad.ui.ProcessRequest;
import org.openbravo.scheduling.ProcessBundle;
import org.openbravo.service.db.DalBaseProcess;
public abstract class RBDDalProcess extends DalBaseProcess {
@Override
protected void doExecute(ProcessBundle bundle) throws Exception {
org.quartz.Scheduler sched = org.openbravo.scheduling.OBScheduler
.getInstance().getScheduler();
int runCount = 0;
synchronized (sched) {
List<org.quartz.JobExecutionContext> currentlyExecutingJobs = (List<org.quartz.JobExecutionContext>) sched
.getCurrentlyExecutingJobs();
for (org.quartz.JobExecutionContext jec : currentlyExecutingJobs) {
ProcessRequest processRequest = OBDal.getInstance().get(
ProcessRequest.class, jec.getJobDetail().getName());
if (processRequest == null)
continue;
String processClass = processRequest.getProcess()
.getJavaClassName();
if (bundle.getProcessClass().getCanonicalName()
.equals(processClass)) {
runCount++;
}
}
}
if (runCount > …Run Code Online (Sandbox Code Playgroud) 我正在尝试将Openbravo与软件Java pos集成,我想将数据从服务器数据库同步到本地POS数据库.
所以我需要做的是下载实时数据库并用它替换本地数据库.
或者我可以使用任何选项或工具.
OpenBravo是一个开源的ERP系统,可以在谷歌的Java AppEngine上运行吗?