{"id":19766251,"url":"https://github.com/akaliutau/dataflow-engine","last_synced_at":"2025-02-28T04:16:05.052Z","repository":{"id":120056006,"uuid":"368089084","full_name":"akaliutau/dataflow-engine","owner":"akaliutau","description":"Execution Engine with async flow features on the basis Feather, Reflection and Concurrency classes in Java 8","archived":false,"fork":false,"pushed_at":"2021-05-17T07:08:30.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-11T00:13:32.758Z","etag":null,"topics":["execution-engine","java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akaliutau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-17T07:08:01.000Z","updated_at":"2021-05-17T07:10:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"933de525-a6ca-4d48-8cd5-84e17efaa5ea","html_url":"https://github.com/akaliutau/dataflow-engine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akaliutau%2Fdataflow-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akaliutau%2Fdataflow-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akaliutau%2Fdataflow-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akaliutau%2Fdataflow-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akaliutau","download_url":"https://codeload.github.com/akaliutau/dataflow-engine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241099623,"owners_count":19909577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["execution-engine","java"],"created_at":"2024-11-12T04:23:33.156Z","updated_at":"2025-02-28T04:16:05.034Z","avatar_url":"https://github.com/akaliutau.png","language":"Java","readme":"\n# About\n\nThis is the core functionality of framework for creating rich objects with complex structure and building execution threads in a functional style. \nSee core classes in the package computing.core:\n\n\n```\nExecutionFlow\nStage\nTask\n\nExecutionEngine\n\nAsyncResult\nEvent\n```\n\nExecution Engine supports the following features:\n\n* Asynchronous execution and concurrency with CompletableFuture classes from Java 8\n\n* Feather for dependency injection\n\n* Auto-configuration of execution via annotations\n\n* MyBatis ORM for persistence level\n\n* Auto-commit and transactional mechanism for database operations  \n\n\n## Launching classes with process launcher\n\n1) Annotate your main class with @Entry annotation\n2) The executable class must extend computing.core.Stage. Business logic must be defined by the way of overriding exec method\n\n\n## Statuses are stored in the database\n\nDatabase connection is mandatory for core to work. It is used to store statuses of currently running business processes and more.\n\n\n## Certificate configuration on client side (Secret Vault usage)\n\n1 Download certificate from website and save it to file RestCert1.cer (for example)\n\n2 Make import of certificate using the command:\n\n```\nkeytool -import -noprompt -trustcacerts -alias rest_db_cert_1 -file   RestCert1.cer  -keystore \"c:\\Program Files\\Java\\jre1.8.0_201\\lib\\security\\cacerts\" -storepass changeit\n```\n\n### boot.properties file MUST present on classpath during run\n\nContents of this file are used during boot time.\n\nThe example file has the following structure:\n\n```\n# Configuration File\n# ===================================================\n#\n# Refer to the \"Client Configuration\" section in the main\n# documentation for a complete description of this file.  A short\n# synopsis follows.\n#\n# This file defines:\n# \n# 1) what database to connect to\n# 2) secret vault info\n# 3) packages to scan for myBatis mappers\n# 4) custom configuration for Feather\n\n## PostgreSQL settings\ndatasource.url=jdbc:postgresql://127.0.0.1:5432/database\ndatasource.username=postgres\ndatasource.password=admin\n\n# Secret Vault\nvaultservice.url=https://127.0.0.1:8443/svcs/rs/vault\n\n# defines paths to be scanned during boot (@Entry classes)\npackages=computing\n\n# defines classes to be used for Feather providers\nconfiguration=computing.model.DefaultConfiguration\n\n# defines paths to be scanned for classes annotated with @Datastore\n# for MyBatis persistence level\nmapperscan=computing.sample.mappers,computing.demo.dao,computing.client.database.dao\n\n## DO NOT EDIT \n## reserved for server configuration\n## hibernate: show all queries\n\nserver.port=8443\n\nspring.jpa.show-sql=true\nspring.jpa.properties.hibernate.format_sql=true\nlogging.level.org.hibernate.type=trace\nspring.jpa.database-platform=org.hibernate.dialect.H2Dialect\nspring.jpa.properties.hibernate.current_session_context_class=org.hibernate.context.internal.ThreadLocalSessionContext\n\n# enabling H2 Console\nspring.h2.console.enabled=true\n\n# turn Statistics on\nspring.jpa.properties.hibernate.generate_statistics=true\nlogging.level.org.hibernate.stat=info\nlogging.level.root=WARN\nlogging.level.org.springframework.web=DEBUG\nlogging.level.org.hibernate=ERROR\n\n## security\nserver.ssl.key-alias=selfsigned_localhost_sslserver\nserver.ssl.key-password=changeit\nserver.ssl.key-store=classpath:ssl-server.jks\nserver.ssl.key-store-provider=SUN\nserver.ssl.key-store-type=JKS\n```\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakaliutau%2Fdataflow-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakaliutau%2Fdataflow-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakaliutau%2Fdataflow-engine/lists"}