public String getFlowDefinitionId() { return assembler.getFlowId(); }
/** * Assemble the held flow definition, delegating to the configured FlowAssembler (director). */ protected void assembleFlow() throws FlowBuilderException { if (logger.isDebugEnabled()) { logger.debug("Assembling flow definition with id '" + assembler.getFlowId() + "'"); } try { assembling = true; flowDefinition = assembler.assembleFlow(); } finally { assembling = false; } }
/** * Reassemble the flow if its underlying resource has changed. */ protected void refreshIfChanged() { if (this.lastModified == -1) { // just ignore, tracking last modified date not supported return; } long calculatedLastModified = calculateLastModified(); if (this.lastModified < calculatedLastModified) { if (logger.isDebugEnabled()) { logger.debug("Resource modification detected, reloading flow definition with id '" + assembler.getFlowId() + "'"); } assembleFlow(); this.lastModified = calculatedLastModified; } }