Merge remote-tracking branch 'open/master' into ags_2018-03-16

This commit is contained in:
Andrzej Grzesik 2018-03-16 09:58:52 +00:00
commit 3c38cb9b2a
3 changed files with 8 additions and 3 deletions

View File

@ -76,7 +76,7 @@ buildscript {
ext.dependency_checker_version = '3.1.0'
ext.commons_collections_version = '4.1'
ext.beanutils_version = '1.9.3'
ext.crash_version = 'cce5a00f114343c1145c1d7756e1dd6df3ea984e'
ext.crash_version = 'cadb53544fbb3c0fb901445da614998a6a419488'
ext.jsr305_version = constants.getProperty("jsr305Version")
ext.spring_jdbc_version ='5.0.0.RELEASE'
ext.shiro_version = '1.4.0'

View File

@ -688,6 +688,9 @@ HTTP and database calls
HTTP, database and other calls to external resources are allowed in flows. However, their support is currently limited:
* The call must be executed in a BLOCKING way. Flows don't currently support suspending to await the response to a call to an external resource
* For this reason, the call should be provided with a timeout to prevent the flow from suspending forever. If the timeout elapses, this should be treated as a soft failure and handled by the flow's business logic
* The call must be idempotent. If the flow fails and has to restart from a checkpoint, the call will also be replayed
Concurrency, Locking and Waiting

View File

@ -46,8 +46,10 @@ public class RunShellCommand extends InteractiveShellCommand {
private void emitHelp(InvocationContext<Map> context, StringToMethodCallParser<CordaRPCOps> parser) {
// Sends data down the pipeline about what commands are available. CRaSH will render it nicely.
// Each element we emit is a map of column -> content.
Map<String, String> cmdsAndArgs = parser.getAvailableCommands();
for (Map.Entry<String, String> entry : cmdsAndArgs.entrySet()) {
Set<Map.Entry<String, String>> entries = parser.getAvailableCommands().entrySet();
ArrayList<Map.Entry<String, String>> entryList = new ArrayList<>(entries);
entryList.sort(Comparator.comparing(Map.Entry::getKey));
for (Map.Entry<String, String> entry : entryList) {
// Skip these entries as they aren't really interesting for the user.
if (entry.getKey().equals("startFlowDynamic")) continue;
if (entry.getKey().equals("getProtocolVersion")) continue;