node-api now depends on this module and upcoming changes will use this as well rather than having to depend on node-api.
EnumEvolveTests.deserializeWithRename and EnumEvolveTests.multiOperations are temporarily ignored since their test resources can't be regenerated due to bugs.
It's no longer used as we've switched over to AMQP for RPC calls so
remove it from everywhere and only use it for checkpointing
* Wire up demo bench post Kryo removal
* Test Fixes
* rebase and fix tests
* Test Fix
* wip
* revert changes to api now we don't need to add annotations
* Client and server support for amqp
* Observable (and supporting) serialisers
Unit Tests
* Fixing tests
* Test fixes
* CORDA-847 - Update api doc with additon of @CordaSerializable annotation
* TestFixes
* review comments
* TestFixes
* Test Fix
* Test Fix
* Test Fix
* Test Fix
* Test Fix
* Test Fix
* TestFix
* Test Fix
* Review Comments
* CORDA-1393: Install `onError()` handler for folding action
or else `ErrorNotImplementedAction` will be invoked which is never a good thing
* CORDA-1335: Improve exception handling in `cleanUpOnConnectionLoss()`
* CORDA-1335: Try to trick the logic to pretend we are running in HA mode to have a chance of re-connecting.
* CORDA-1416: Make `NodeMonitorModel` code react to proxy changing.
* CORDA-1416: Workaround `CordaRPCOps.equals()` calls when listener dispatching change.
* CORDA-1416: Increase re-try interval to allow enough time for server to come back online.
* CORDA-1355: Properly close RPC connection we are moving away from.
* CORDA-1355: Unsubscribe on Error to prevent propagation of it downstream.
* CORDA-1355: For downstream subscribers ignore errors properly. Thanka to @exfalso for the hint.
This fixes: Transaction Updates do not flow after re-connect
* CORDA-1355: Bugfix eliminate duplicating items on "Transactions" blotter after re-connect.
* CORDA-1355: Bugfix eliminate double counting on dashboards.
* CORDA-1355: Bugfix eliminate same parties in dropdowns.
* CORDA-1355: Stop using `SecureHash.randomSHA256()` for painting widget icon.
Instead use combined SHA hash such that icon represents the whole population of trades.
That way two transactions blotters can be compared by a single glimpse at corresponding icons.
Also minor refactoring.
* CORDA-1416: Make RPC re-connection faster/more robust.
* CORDA-1416: Properly announce thet Proxy may not be available during re-connect and prevent UI crashing.
* CORDA-1416: Disable UI until RPC proxy is available.
* CORDA-1416: Correct typo.
* CORDA-1416: Unit test fix.
* CORDA-1416: GUI cosmetic changes.
* CORDA-1416: Correct spaces.
* CORDA-1416: Remove un-necessary overrides in CordaRPCOpsWrapper.
* CORDA-1416: Switch from using `doOnError` to installing an error handler upon subscription.
* ENT-1670: update kdocs and unit test for better user experience regarding
RPC connection loss
* RPCStabilityTests: move doOnError logic to onError handler
Prior to this change it was intermittently failing with:
```
net.corda.client.rpc.RPCException: RPC server is not available.
at net.corda.client.rpc.internal.RPCClientProxyHandler.invoke(RPCClientProxyHandler.kt:222)
at com.sun.proxy.$Proxy79.ping(Unknown Source)
at net.corda.client.rpc.RPCStabilityTests$client reconnects to rebooted server$1$pingFuture$1.invoke(RPCStabilityTests.kt:251)
at net.corda.client.rpc.RPCStabilityTests$client reconnects to rebooted server$1$pingFuture$1.invoke(RPCStabilityTests.kt:36)
at net.corda.core.internal.concurrent.ValueOrException$DefaultImpls.capture(CordaFutureImpl.kt:107)
at net.corda.core.internal.concurrent.OpenFuture$DefaultImpls.capture(CordaFutureImpl.kt:65535)
at net.corda.core.internal.concurrent.CordaFutureImpl.capture(CordaFutureImpl.kt:119)
at net.corda.core.internal.concurrent.CordaFutureImplKt$fork$$inlined$also$lambda$1.run(CordaFutureImpl.kt:22)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
```
* Improve error reporting in case of failure of flaky tests
Also eliminate warnings and other minor changes.
* Address code review comments raised by @exFalso
Also improve output for stack traces.
* rework message handling while connection is down: do not send anything, throw on all obs and futures when failure detected
* RPC calls will throw if used during failover; adapted tests
* CORDA-296: added handler for connection failover
print rpc address during node startup
* address PR comments: typo, whitespace, onError observables
* reworked rpc client msg buffering to avoid race conditions when failure happens while the request is being prepared to be sent; added unit test for 8 threads sharing same client sending 1000 requests
* decreased sleep time in rpc test, code cleanup
- Existing embedded Shell connects via RPC including checking RPC user credentials (before was a direct use of CordaRPCOps): in dev mode when console terminal is enabled, node created `shell` user.
- New Standalone Shell app with the same functionalities as Shell: connects to a node via RPC Client, can use SSL and run SSH server.
Also for "client/rpc" explicitly specify "jvmTarget" (similar to what "experimental/behave" does) to avoid ambiguity.
Without this change the following compilation error been observed in IntelliJ:
Z:\corda\experimental\behave\src\main\kotlin\net\corda\behave\node\Node.kt
Error:(163, 44) Kotlin: Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6. Please specify proper '-jvm-target' option
* Remove sslConfiguration from public constructor of CordaRPCClient
* Address review comments
* Update api-current.txt
* sslConfiguration doesn't need to be a property
Minor tweaks to the invocation context code.
1) Un-deprecate FlowInitiator, move the deprecation to the field. This
eliminates large numbers of warnings and means developers are warned
only once in the place where they obtain one.
2) Add documentation for StateMachineInfo and create a type alias to give
it a better name in an ABI compatible way.
3) Improve markup on InvocationContext
4) Rename field from just "context" to "invocationContext" (Context is vague)
* Align CordaRPCJavaClientTest with Kotlin version of the test ((byte)0 instead of "1".getBytes())
* Refactoring to align with enterprise repo (exceptions).