Corda is an open source blockchain project, designed for business from the start. Only Corda allows you to build interoperable blockchain networks that transact in strict privacy. Corda's smart contract technology allows businesses to transact directly, with value.
Go to file
Christian Sailer 1f71b071aa CORDA-3217 and CORDA-3195 Various bits arond SQL exceptions and flow hospital (#2605)
* Unwrap rx.OnErrorNotImplementedException so the hospital can handle the cause appropriately

* Add db failure cordapp

* Renamed folders to avoid ambiguity in gradle

* Add integration test for exception hospitalisation when thrown from an RX observable.

* Make the test slightly cleaner

* Fix the schema to actually match the requirements for my custom state. Thanks a bunch, H2.

* Switch test to use SqlException base class.

* Schedule error event if we detect that a commit or db flush has thrown (forcing the flow to error even if customer code then goes ahead to swallow the exception)

* Revert change to schedule extra error

* Add more tests for edge case with DB exceptions, changed CorDapp to suppor this an hook in the flow hospital

* Warning about unsubscribe
Check state transitioned from clean to error for hospital admission.

* Match the test to our actual expectations

* Revert "Revert change to schedule extra error"

This reverts commit 43d47937

* Prevent suppression of errors arising in `transaction()` and `jdbcConnection()`

* Test for SqlException caught trying to escape from recordTransaction and suppressed outside being intercepted.

* More tests for various error/catch combinations

* Clean up and comments

* Code reformat

* Fix test compilation
2019-11-01 11:48:07 +00:00
.ci Re enabling persistent volume claims (#5628) 2019-10-29 16:23:22 +00:00
.github Fixed broken links in GitHub PR template 2019-09-16 14:07:58 +12:00
.idea CORDA-3281: Drop some errors to warnings and clean up logic around (#5605) 2019-10-22 11:02:04 +01:00
buildSrc Re enabling persistent volume claims (#5628) 2019-10-29 16:23:22 +00:00
client CORDA-3281: Drop some errors to warnings and clean up logic around (#5605) 2019-10-22 11:02:04 +01:00
common NOTICK: Change build number to snapshot 2019-09-20 16:45:54 +01:00
confidential-identities TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
config CORDA-3246 - Missing logs on shutdown (#5501) 2019-10-08 10:18:19 +01:00
core CORDA-3152: Register custom serializers for jackson as well as amqp 2019-10-16 13:08:01 +01:00
core-deterministic Webook test branch (#5528) 2019-10-08 16:33:24 +02:00
core-tests CORDA-2965 Make Tx verification exceptions serializable. (#5560) 2019-10-09 11:43:06 +01:00
create-jdk8u ENT-1467: Make the deterministic JDK image compatible with IntelliJ. (#3416) 2018-06-26 11:53:16 +01:00
docker CORDA-3336: Remove log4j plugins to stop errors in config generator (#5617) 2019-10-21 13:31:09 +01:00
docs adding one point to whitelist contract constraints migration - signed… (#5568) 2019-11-01 10:49:04 +00:00
experimental TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
finance TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
gradle/wrapper WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
isolated CORDA-2893 Upgrade Corda to use Gradle 5.4.1 (Take 2) (#5137) 2019-05-20 14:26:42 +01:00
jdk8u-deterministic CORDA-2871: Fine-tune compile vs runtime scopes of published deterministic jars. (#5241) 2019-06-21 14:01:59 +01:00
lib CORDA-2050 Revert back to quasar 0.7.10 (Java 8) (#5514) 2019-09-24 13:24:16 +01:00
node CORDA-3217 and CORDA-3195 Various bits arond SQL exceptions and flow hospital (#2605) 2019-11-01 11:48:07 +00:00
node-api CORDA-3217 and CORDA-3195 Various bits arond SQL exceptions and flow hospital (#2605) 2019-11-01 11:48:07 +00:00
release-tools CORDA-3017 - Fix release tooling when product name != jira project (#5229) 2019-06-21 09:28:07 +01:00
samples CORDA-3360 Add nodeInfo permissions to web user 2019-10-23 09:58:59 +01:00
serialization CORDA-3388: Restore mapping of 'java.lang.Void -> void' (#5650) 2019-10-30 17:47:13 +00:00
serialization-deterministic CORDA-2050 Upgrade Corda to Java 11 (compatibility mode) (#5356) 2019-09-18 10:26:26 +01:00
serialization-tests CORDA-2050 Upgrade Corda to Java 11 (compatibility mode) (#5356) 2019-09-18 10:26:26 +01:00
testing CORDA-3217 and CORDA-3195 Various bits arond SQL exceptions and flow hospital (#2605) 2019-11-01 11:48:07 +00:00
tools CORDA-3335 Corda Shell flow kill - better warning for misformatted flow ID (#5601) 2019-10-22 11:32:17 +01:00
.dockerignore WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
.gitignore WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
build.gradle PreAllocate pod resources during image build phase (#5587) 2019-10-28 11:48:04 +00:00
BUILD.md add a shared memory port allocator to allow multiple processes to sha… (#5223) 2019-07-02 18:38:33 +00:00
buildCacheSettings.gradle Explicitly disable remote gradle build cache when building locally. (#4095) 2018-10-19 16:40:06 +01:00
constants.properties CORDA-3244, CORDA-3245 - Jolokia docs update (#5486) 2019-10-14 10:08:01 +01:00
CONTRIBUTING.md Combines all contributing info in one place. Clean-up. (#4266) 2018-11-20 18:17:11 +00:00
CONTRIBUTORS.md Contract tutorial update and Contributors list update (#5338) 2019-07-30 14:51:34 +01:00
detekt-baseline-config.yml TM-45 Make detektBaseline pass (#5561) 2019-10-15 15:49:31 +01:00
detekt-baseline.xml Revert "CORDA-3307 - add support for environment variables in linux (#5523)" (#5643) 2019-10-29 17:55:58 +00:00
detekt-config.yml disable ReturnCount detekt check (#5581) 2019-10-15 09:39:53 +01:00
deterministic.gradle ENT-1463, ENT-1903: Refactor Gradle for deterministic modules (#3387) 2018-06-18 14:14:48 +01:00
gradle.properties Revert "Merge pull request #5145 from corda/jdk11-migration-gradle5-upgrade" (#5146) 2019-05-20 16:16:49 +01:00
gradlew CORDA-2893 Upgrade Corda to use Gradle 5.4.1 (Take 2) (#5137) 2019-05-20 14:26:42 +01:00
gradlew.bat CORDA-2893 Upgrade Corda to use Gradle 5.4.1 (Take 2) (#5137) 2019-05-20 14:26:42 +01:00
Jenkinsfile Re enabling persistent volume claims (#5628) 2019-10-29 16:23:22 +00:00
LICENSE Use full Apache 2.0 license so GitHub recognizes it 2019-08-23 12:24:37 +02:00
README.md Fix logo image in README.md 2019-10-02 13:05:45 +02:00
SECURITY.md CORDA-2958 Security policy for corda 2019-06-03 10:38:13 +02:00
settings.gradle CORDA-3217 and CORDA-3195 Various bits arond SQL exceptions and flow hospital (#2605) 2019-11-01 11:48:07 +00:00
sizing.sh add a shared memory port allocator to allow multiple processes to sha… (#5223) 2019-07-02 18:38:33 +00:00
TRADEMARK Updated URL link to R3 trademark policy 2017-07-13 11:43:41 +01:00

Corda

License

Corda

Corda is an open source blockchain project, designed for business from the start. Only Corda allows you to build interoperable blockchain networks that transact in strict privacy. Corda's smart contract technology allows businesses to transact directly, with value.

Features

  • Smart contracts that can be written in Java and other JVM languages
  • Flow framework to manage communication and negotiation between participants
  • Peer-to-peer network of nodes
  • "Notary" infrastructure to validate uniqueness and sequencing of transactions without global broadcast
  • Enables the development and deployment of distributed apps called CorDapps
  • Written in Kotlin, targeting the JVM

Getting started

  1. Read the Getting Started documentation
  2. Run the Example CorDapp
  3. Read about Corda's Key Concepts
  4. Follow the Hello, World! tutorial

Contributing

Corda is an open-source project and contributions are welcome!

To find out how to contribute, please see our contributing docs.

License

Apache 2.0

Acknowledgements

YourKit

YourKit supports open source projects with its full-featured Java Profiler.

YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.