/** * serializes the request to a string, encrypts it, then stores it to disk */ protected static void StorePersist(AddMoreData req) { if (req == null || req.getReq() == null || req.getReq().isEmpty()) { return; } Init(); for (int i = 0; i < req.getReq().size(); i++) { JAXBContext jc = null; try { jc = JAXBContext.newInstance(AddDataRequestMsg.class, AddDataRequestMsg.class, AddMoreData.class, AddData.class, String.class, Duration.class, Long.class, SecurityWrapper.class, ClassificationType.class, List.class, org.miloss.fgsms.services.interfaces.common.Header.class); Marshaller m = jc.createMarshaller(); StringWriter sw = new StringWriter(); m.marshal( (req.getReq().get(i)), sw); String s = sw.toString(); s = Utility.EN(s); WriteAllText(cfg.offlinestorage + File.separator + UUID.randomUUID().toString(), s); } catch (Exception ex) { log.log(Level.WARN, "Unable to marshall or store to disk service performance record", ex); } } }
req.getReq().add(PreppedMessage); count++; req.getReq().add(PreppedMessage); count++; } else { int urlcount = 0; boolean ok = false; if (!req.getReq().isEmpty()) { switch (cfg.DCSalgo) { case ROUNDROBIN: AddDataResponseMsg addMoreData = cfg.dcsport.addMoreData(req.getReq()); if (addMoreData != null && addMoreData.getStatus() != null && addMoreData.getStatus() == DataResponseStatus.SUCCESS) { ok = true; log.log(Level.DEBUG, "fgsms successfully sent transaction data for " + req.getReq().size() + " transactions. Items still to process: " + outboundQueue.size()); MessageProcessor.getSingletonObject().incMessagesProcessed(req.getReq().size()); } else { ok = false; log.log(Level.WARN, "fgsms failed to sent transaction data for " + req.getReq().size() + " transactions. 1 or more items couldn't be saved. Items still to process: " + outboundQueue.size()); MessageProcessor.getSingletonObject().setLastErrorMessage("retry count exceeded"); if (cfg.behavior == ConfigLoader.UnavailableBehavior.HOLD) { for (int i = 0; i < req.getReq().size(); i++) { outboundQueue.add(req.getReq()); for (int i = 0; i < req.getReq().size(); i++) { StorePersist(req);
dcsport.addMoreData(CheckPersistStore.getReq()); success = true; break; CheckPersistStore = DataPusher.CheckPersistStore(); while (CheckPersistStore != null) { for (int i = 0; i < CheckPersistStore.getReq().size(); i++) { MessageProcessor.getSingletonObject().processPreppedMessage(CheckPersistStore.getReq().get(i));