Also add a unit test that exposes the problem.
Without these changes AMQP serialization fails with the following:
```
net.corda.serialization.internal.amqp.AMQPNotSerializableException: Constructor parameter - "reason" - doesn't refer to a property of "class net.corda.node.services.statemachine.SessionRejectException"
at net.corda.serialization.internal.amqp.SerializationHelperKt.toPropertyAccessorConstructor(SerializationHelper.kt:120) ~[corda-serialization-4.0-SNAPSHOT.jar:?]
at net.corda.serialization.internal.amqp.SerializationHelperKt.propertiesForSerializationFromConstructor(SerializationHelper.kt:107) ~[corda-serialization-4.0-SNAPSHOT.jar:?]
at net.corda.serialization.internal.amqp.custom.ThrowableSerializer.toProxy(ThrowableSerializer.kt:28) [corda-serialization-4.0-SNAPSHOT.jar:?]
at net.corda.serialization.internal.amqp.custom.ThrowableSerializer.toProxy(ThrowableSerializer.kt:12) [corda-serialization-4.0-SNAPSHOT.jar:?]
at net.corda.serialization.internal.amqp.CustomSerializer$Proxy.writeDescribedObject(CustomSerializer.kt:159) [corda-serialization-4.0-SNAPSHOT.jar:?]
```
This is a split-out change from an enterprise feature, but since we do have: `RPCApi.RPC_TARGET_LEGAL_IDENTITY` header constant even in OS, it would make sense to extend RPC client API to populate this.
* Ensure we check for the trustroot existence and alias validity.
* fix missing keystore message on integration test after changes.
* adding more requirements to check for missing aliases to validateKeyStores
* import X509Utilities const values (CORDA_ROOT_CA, CORDA_CLIENT_CA, CORDA_CLIENT_TLS) to AbstractNode.
* address review comment: avoid using !! (not null)
* Added fix and associated unit test.
* Fixed broken unit test + added another test case + used NoOpFlows + use Mock output object to assert correct result output.
* Remove unnecessary additional println.
* Minor cleanup in test code.
* Relax nameFragment matching to cater for fully qualified and simple Flow classname specifications.
* Remove superfluous check.
* Minor fix + added additional Unit Test cases to cover all scenarios.
* Reverted back to original behaviour + extra check to avoid ambiguity for exact match.
* Changes following final PR review comments.
* Make the criteria builder functions case insensitive
Add IGNORE_CASE versions of the comparison operator enums
Add exactMatch argument to criteria builder functions where strings can be passed in and set its default value to true
Use JvmOverrides to provide the default true version to java without needing to specify a value manually
If exactMatch is true then the original enums will be used, if false the IGNORE_CASE enums will be used instead
HibernateQueryCriteriaParser.columnPredicateToPredicate now takes into account the IGNORE_CASE versions of the enums
* Tidy up QueryCriteriaUtils and HibernateQueryCriteriaParser
Split HibernateQueryCriteriaParser.columnPredicateToPredicate into smaller functions
Reduce duplicated code in QueryCriteriaUtils
* Tidy up QueryCriteriaUtils and HibernateQueryCriteriaParser
Split HibernateQueryCriteriaParser.columnPredicateToPredicate into smaller functions
Reduce duplicated code in QueryCriteriaUtils (missed some code here)
* update changelog and api-vault-query docs with new API functions
* reorder Operator enums so that the ignore case enums are at the end
In case anyone is depending on the order of the enums, to keep compatibility with existing CorDapps the enums should be added at the end to prevent ordinals from breaking.
* use constant for default platform version value when tests with out of process nodes are run from Intellij.
* node will use constant for platform version instead of manifest file(RPC already uses the constant, no sense in having 2 sources for it)
* fix issues caused by merge
* - Fixed some problems with error handling for Observables.
- Eliminated incorrect double `stop()` call for RpcBroker.
- Added `Schedulers.shutdown()` call in `stop()` implementation for Node and Driver, to avoid stuck processes when observable pipelines go wrong.
* Fixed a missing import.
* Removed `Schedulers.shutdown()` for now.
* Fixed an issue with `pendingFlowsCount()` function.
* Create CLI UX Guidelines
* More tweaking
* Address review comments
* More tweaks
* Add recommendation for generating and installing completion files
* Update documentation to include base class information
* Use ExitCodes base class
* Modify Corda Node to use picocli
* Make --sshd parameter actually work
* * Some refactoring
* Fixing the issue with the --confg-file parameter
* Updating the tests
* Restore original devMode behaviour
* Update documentation
* Add return code to network bootstrapper
* Use the root jar for the shell alias for jars packaged with capsule
* Update Corda jar description
* Fix issue with logging not initialising early enough in node
Make initLogging overridable
Combine --verbose and --log-to-console options
* Tidy up
* Make sure all command line options are documented properly
* Fix compilation error
* Remove code that's no longer needed (single slash options no longer supported unless explicitly specified)
* Remove comment
* Remove pointless comment
* Log commandline arguments
* Address review comments
* Address more review comments
* Remove ConfigFilePathArgsParser
* Remove some unused importss
* Only display config when in dev mode
* Force Ansi ON if on Windows else set to AUTO.
* Make ExitCodes class open
Allow configuration in node for additional advertised addresses.
fix logic error
Use empty list as default config not null
Allow multiple addresses in NodeInfo
Describe new additionalP2PAddresses property in docs.
Add integration test of additionalP2PAddress feature
Fixup after rebase
Address PR comment
Address PR comments by removing unused element of NodeAddress
NetworkMapCacheImpl and NetworkMapCacheBaseInternal interface merged into PersistentNetworkMapCache and NetworkMapCacheInternal interface respectively.
* Trivial tweaks to DJVM code.
- Use ASM Type.getInternalName()
- Use @JvmDefault annotation
- Declare test base class as abstract
- Ensure test Log4J configuration has precedence
- Replace assert() with require()
- Replace simple lambdas with function references
* Publish corda-djvm artifact.
* Migrate Utilities class into the CLI tool.
* Configure unit tests for console logging.