Business Application Platform - no-code/low-code platform to build business applications

Overview

Build Status Coverage Status Gitter Docker Pulls GitPitch

Orienteer

Orienteer Wordcloud Screencast

What is Orienteer

Orienteer is Business Application Platform:

  • Easy creation of business applications
  • Extendable to fit your needs
  • Dynamic datamodel
  • Rest/JSON enabled
  • Developers friendly
  • Scalling and cloud ready (support of Docker)

Git Pitch

User Guide

Demo Site

Orienteer installation

There are 3 options for Orienteer installation:

  • Docker
  • Embedded (on application server)
  • Standalone (no need in application server)

Docker

Run new container by command docker run -p 8080:8080 orienteer/orienteer. Adjust this command if needed:

-v <runtime>:/app/runtime - mount runtime directory with databases, dynamically installed modules and etc.

-v <maven>:/root/m2 - mount your local maven repository

ORIENTDB_ADMIN_PASSWORD=<password> - specify admin password by default

ORIENTDB_GUEST_PASSWORD=<password> - specify reader password by default

Embedded

Orienteer is Java Servlet 3.1 web application and can be installed on all famous compatible containers:

  • Jboss
  • Weblogic
  • IBM WebSphere
  • Tomcat
  • Jetty
  • and etc.

To install Orienteer in embedded mode:

  • Download latest orienteer.war
  • Put orienteer.war into deployment folder for your application server
  • Configure orienteer.properties according to your environment and place it in the same directory or above
  • Run application server

Standalone

Orienteer in standalone mode use embedded jetty server to run yourself. To install Orienteer in standalone mode:

  • Download latest orienteer-standalone.jar
  • Put orienteer-standalone.jar into any directory
  • Optionally configure orienteer.properties accordging to your environment and place it in the same directory or above
    • By default, Orienteer, will run OrientDB database embedded
  • Run Orinteer as java -Xmx512m -Xms512m -jar orienteer-standalone.jar. JVM parameters can be adjusted accordingly. Additional application parameters can be supplied:
    • --config=<filename> - specification of path to orienteer configuration file
    • --embedded - run embedded OrientDB database
    • --port=<port number> - run Orienteer on specified port (Default: 8080)
    • --help - display help

Orienteer initial configuration

orienteer.properties is the main file to store initial configuration paramenters for your installation. Sample properties file can be always found here.

orienteer.production=false  //Run Orienteer in production mode or not
orientdb.embedded=false     //Run embedded OrientDB server?
orientdb.url=remote:localhost/Orienteer   //OrientDB server URL
orientdb.guest.username=reader               //Default OrientDB user (will be used for guests as well)
orientdb.guest.password=reader               //Password for default OrientDB user
orientdb.admin.username=admin    //OrientDB user to user for administrative stuff
orientdb.admin.password=admin    //Password for OrientDB user used for administrative stuff

# Optional properties

#orientdb.rest.url=http://localhost:2480
#plantuml.url=http://custom-plantuml-url
#plantuml.showuml=false;

#webjars.readFromCacheTimeout=5 seconds
#webjars.useCdnResources=true
#webjars.cdnUrl=//maxcdn.bootstrapcdn.com:80

Setup of development environment

Prerequisites

  1. java 8+
  2. git
  3. maven
  4. OrientDB, if you want to use OrientDB remotely

Steps

Install of wicket-orientdb github SNAPSHOT

This step is optional: wicket-orientdb SNAPSHOT always available on Maven central

git clone <your fork URL for wicket-orientdb>
cd wicket-orientdb
mvn clean install
Install Orienteer
cd ..
git clone <your fork URL for Orienteer>
cd Orienteer
mvn clean install
Modify orienteer.properties file

See configuration section above

Code compilation
mvn clean install
Run jetty server by command
mvn jetty:run
Goto the application

Open http://localhost:8080 is in your browser

Comments
  • Error while starting the Orienteer Server

    Error while starting the Orienteer Server

    Hello I'm trying to setup the orienteer standalone server as per documentation, https://orienteer.gitbooks.io/orienteer/content/installation_as_standalone_application.html

    As per the folder structure https://github.com/OrienteerBAP/Orienteer

    Steps: 1: Building orienteer server I build the orienteer-bpm/ orienteer-standalone/ orienteer-war directories separately by using the maven install and package commands respectively mvn clean install mvn package as per logs the build was success

    2. Running Orienteer server Added the Orienteer.properties file in a directory https://github.com/OrienteerBAP/Orienteer/blob/master/orienteer-core/src/main/resources/orienteer-default.properties added the generated build jar file into directory and executed the below command respectively as per docs java -Xmx512m -Xms512m -jar orienteer-standalone.jar After running the above command for starting standalone server getting runtime exception and not able to load the orinteer server dashboard

    check below Screenshots and error logs for same

    Last cause: Class not found: ODashboard
    	DB name="Orienteer"
    WicketMessage: Can't instantiate page using constructor 'public org.orienteer.core.web.schema.SchemaPage()'. An exception has been thrown during construction!
    

    image

    Error Stack Trace:

    Root cause:
    
    com.orientechnologies.orient.core.exception.OCommandExecutionException: Class not found: ODashboard
    	DB name="Orienteer"
         at com.orientechnologies.orient.core.sql.executor.OSelectExecutionPlanner.handleClassAsTargetWithIndexedFunction(OSelectExecutionPlanner.java:1931)
         at com.orientechnologies.orient.core.sql.executor.OSelectExecutionPlanner.handleClassAsTarget(OSelectExecutionPlanner.java:1869)
         at com.orientechnologies.orient.core.sql.executor.OSelectExecutionPlanner.handleClassAsTarget(OSelectExecutionPlanner.java:1858)
         at com.orientechnologies.orient.core.sql.executor.OSelectExecutionPlanner.handleFetchFromTarger(OSelectExecutionPlanner.java:1261)
         at com.orientechnologies.orient.core.sql.executor.OSelectExecutionPlanner.createExecutionPlan(OSelectExecutionPlanner.java:117)
         at com.orientechnologies.orient.core.sql.parser.OSelectStatement.createExecutionPlan(OSelectStatement.java:302)
         at com.orientechnologies.orient.core.sql.parser.OSelectStatement.execute(OSelectStatement.java:271)
         at com.orientechnologies.orient.core.sql.parser.OStatement.execute(OStatement.java:72)
         at com.orientechnologies.orient.core.db.document.ODatabaseDocumentEmbedded.query(ODatabaseDocumentEmbedded.java:587)
         at org.orienteer.core.widget.DefaultDashboardManager.listExistingTabs(DefaultDashboardManager.java:62)
         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.base/java.lang.reflect.Method.invoke(Method.java:567)
         at org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:521)
         at com.sun.proxy.$Proxy56.listExistingTabs(Unknown Source)
         at org.orienteer.core.web.AbstractWidgetPage.getTabs(AbstractWidgetPage.java:152)
         at org.orienteer.core.web.AbstractWidgetPage.getDashboardTabs(AbstractWidgetPage.java:131)
         at org.orienteer.core.web.AbstractWidgetPage.initialize(AbstractWidgetPage.java:90)
         at org.orienteer.core.web.BasePage.<init>(BasePage.java:76)
         at org.orienteer.core.web.OrienteerBasePage.<init>(OrienteerBasePage.java:55)
         at org.orienteer.core.web.AbstractWidgetPage.<init>(AbstractWidgetPage.java:76)
         at org.orienteer.core.web.schema.SchemaPage.<init>(SchemaPage.java:16)
         at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
         at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
         at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
         at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
         at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:175)
         at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
         at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:103)
         at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:94)
         at org.apache.wicket.core.request.handler.PageProvider$Provision.getPage(PageProvider.java:380)
         at org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:171)
         at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
         at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:231)
         at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
         at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:903)
         at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
         at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:292)
         at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
         at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:276)
         at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:207)
         at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:306)
         at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
         at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
         at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
         at org.orienteer.core.OrienteerFilter.doFilter(OrienteerFilter.java:116)
         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
         at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
         at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
         at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
         at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
         at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
         at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
         at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
         at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
         at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
         at org.eclipse.jetty.server.Server.handle(Server.java:503)
         at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
         at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
         at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
         at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
         at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
         at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
         at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
         at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
         at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
         at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
         at java.base/java.lang.Thread.run(Thread.java:830)
    
    Complete stack:
    
    org.apache.wicket.WicketRuntimeException: Can't instantiate page using constructor 'public org.orienteer.core.web.schema.SchemaPage()'. An exception has been thrown during construction!
         at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:194)
         at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
         at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:103)
         at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:94)
         at org.apache.wicket.core.request.handler.PageProvider$Provision.getPage(PageProvider.java:380)
         at org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:171)
         at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
         at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:231)
         at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
         at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:903)
         at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
         at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:292)
         at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
         at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:276)
    
    java.lang.reflect.InvocationTargetException
         at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
         at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
         at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
         at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
         at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:175)
         at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
         at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:103)
         at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:94)
         at org.apache.wicket.core.request.handler.PageProvider$Provision.getPage(PageProvider.java:380)
         at org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:171)
         at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
         at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:231)
         at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
         at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:903)
         at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
         at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:292)
         at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
         at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:276)
    
    

    Java Version:

    java 13.0.2 2020-01-14
    Java(TM) SE Runtime Environment (build 13.0.2+8)
    Java HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)
    
    

    Orienteer Server : downloaded from below URL https://github.com/OrienteerBAP/Orienteer/releases/tag/v1.5

    Can anyone suggest the steps or proper workaround for running the same As per our requirements i need to check the Orienteer + camunda workflow engine for which we need the orinteer server https://orienteer.gitbooks.io/orienteer/content/business_process_management.html

    opened by SameerChorge94 20
  • Enhanced properties retrieval

    Enhanced properties retrieval

    Based on the current undocumented (and for me personally hard to get) retrieval of properties (see #162) the mechanism has been rewritten drastically. The changes include:

    • hiding of URLs. Guice and other properties consumers want Properties, so method should return such.
    • .properties files shouldn't be searched in the current directory or in the source root. Therefore default properties are now maintained in an application resource and can be overwritten by both files and resources on classpath if the corresponding system property is set (see Javadoc of OrienteerModule). There's a fallback so that Properties are always retrieved. A .properties file can be put in ~/.orienteer/orienteer.properties and is used if no system property is specified.
    • The default properties are maintained in the newly created project orienteer-resources.

    A test for OrienteerModule has been created. The orienteer-archetype-war project has been adjusted to match the changes listed above.

    The reason for the change was that I could never build Orienteer due to issue in intransparent properties loading.

    opened by krichter722 10
  • Saving a new class fails with error

    Saving a new class fails with error "User 'writer' has no the permission to execute the operation 'Update' against the resource:"

    Saving a new class fails with User 'writer' has no the permission to execute the operation 'Update' against the resource: ResourceGeneric [name=CLUSTER, legacyName=database.cluster].internal. See screenshots for details.

    orienteer_demo_not_writable-0

    Overview of user writer:

    orienteer_demo_not_writable-1

    experienced with 1.0-SNAPSHOT

    bug 
    opened by krichter722 9
  • Widget for OTriggered modification

    Widget for OTriggered modification

    According to provided OrientDB documentation if document inherited from OTiggered it's possible to specify listed fields as a reference to a OFunction and that function will be triggered on required event.

    So this widget should allow to set a references to OFunction for a set of predefined fields. The main problem why generic interface can't be used: those fields are not registered as properties of OTriggered - so they need to be added ondemand to a document

    enhancement EST: Medium new widget 
    opened by PhantomYdn 8
  • Fix internationalization

    Fix internationalization

    Some pages of the demo show some internationalization issues, e.g. http://demo.orienteer.org/property/Clazz/prop contains both english language and word sin cyrillic characters.

    bug 
    opened by krichter722 7
  • Create a file upload button for binary fields

    Create a file upload button for binary fields

    next to the current text input field. I guess orientdb is capable of handling streamed input of binary data and I think I could implement that myself if you could give me a pointer where to start.

    enhancement EST: Small contributor friendly 
    opened by krichter722 7
  • Define code formatting rules and setup a formatter or the maven checkstyle plugin

    Define code formatting rules and setup a formatter or the maven checkstyle plugin

    Currently there's a wild mixture of tabs and spaces (4 or 8) being used for indentation (some even mixed in the same file). I'd suggest 4 spaces indentation (no tabs due to incompatibility with mailing lists) for all files (java, XML, etc.) and use checkstyle rather than a formatter. Document everything is HACKING or CONTRIBUTING. I'd be willing to do it, just assign me.

    documentation 
    opened by krichter722 6
  • Add wicket-orientdb as a git submodule

    Add wicket-orientdb as a git submodule

    This wouldn't interfere with the development of wicket-orientdb as a separate project, but due to the fact that the projects are quite close a specific revision could be enforced if it is necessary for a patch in Orienteer which is not provided by the maven versioning schema x.y.z or x.y.z-SNAPSHOT.

    enhancement wontfix 
    opened by krichter722 6
  • Error While Connecting to localhost/GratefulDeadConcerts

    Error While Connecting to localhost/GratefulDeadConcerts

    Last cause: Class 'OPERSPECTIVE' was not found in database 'GratefulDeadConcerts' DB name="GratefulDeadConcerts" Full Error in below pdf file Unexpected RuntimeException.pdf

    changed .properties file as mentioned in readme, tried with version 2.2.15/2.2.17

    opened by py563 5
  • Docker. Correct ORIENTDB_URL if ORIENTDB_EMBEDDED=false?

    Docker. Correct ORIENTDB_URL if ORIENTDB_EMBEDDED=false?

    Hello, i new in OrientDB and Orienteer, and if i set ORIENTDB_EMBEDDED=true, docker container running correctly. But if i set ORIENTDB_EMBEDDED=false and ORIENTDB_URL=remote:172.18.0.1:2480/testdb app is not runing?

    opened by Vladimir-Va 4
  • Move test involving embedded database to an integration test project and mock in unit tests

    Move test involving embedded database to an integration test project and mock in unit tests

    Unit tests shouldn't open sockets and start embedded database servers. That's integration testing. Afaik that's done in separate -it projects in maven. The existing tests which are in fact integration tests should be moved to such a project. Unit tests should use mocks.

    There's the orienteer-archetype-war project whose meaning I don't fully understand. It executes integration tests which run even if -DskipTests=true is specified as maven option (might be a separate issue).

    opened by krichter722 4
  • Bump jackson-databind from 2.12.1 to 2.12.6.1

    Bump jackson-databind from 2.12.1 to 2.12.6.1

    Bumps jackson-databind from 2.12.1 to 2.12.6.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump hazelcast from 3.9.4 to 3.11

    Bump hazelcast from 3.9.4 to 3.11

    Bumps hazelcast from 3.9.4 to 3.11.

    Release notes

    Sourced from hazelcast's releases.

    3.11

    Release Notes

    v3.11-BETA-1

    3.11-BETA-1 release

    3.10.7

    This document includes the new features, enhancements and fixed issues for Hazelcast IMDG v3.10.7, Open Source edition release.

    Fixes

    • Fixed an issue where the Near Cache invalidation was not working properly when used with Transactional Map. #16617

    3.10.6

    This document includes the new features, enhancements and fixed issues for Hazelcast IMDG v3.10.6, Open Source edition release.

    Enhancements

    • Added the ability to log IOExceptions thrown by the ICMP ping task as ping failures. #13826

    Fixes

    • Entry processors equipped with predicates try to utilize global indexes to narrow down the key set to operate on. #13892 fixes the following issues for this utilization:
      • There were no migration stamp validations performed to prevent entry processors from operating on stale index data.
      • WrongTargetException was not thrown for out-migrated partitions, as a result the caller (InvokeOnPartitions) was not retrying entry processors on such partitions.
      • Partition scope provided to PartitionIteratingOperation was not respected. As a result, operations produced by factories providing their own partition sets were running on more partitions than expected.
    • Fixed the incorrect dependencies in hazelcast-all.pom. #13885
    • Hazelcast lacks a mechanism for the client/server recovery within Spring cache context. This is fixed by recreating the local cache configurations when the client is connecting to a restarted member. #13811
    • Clients were sometimes failing to reconnect to another owner member with the ExecutionException. This is fixed by making ClientReauthOperation to be retryable. #13790
    • When an unserializableResponse is tried to be sent to the client as a response from the executor service tasks, the exception was logged on the server side and there was no response returned back to the client. This has been fixed by removing the logging and sending HazelcastSerializationException to the client. #13777
    • Queryable entries returned by High-Density Memory Store indexes were unaware of the map value extractors, so it was not possible to extract values provided by the extractors from the returned entries. This is fixed by forwarding the map value extractor to these indexes. #13775
    • Hazelcast 3.10.5 client was not being auto-discovered on Kubernetes. This is fixed by using a specific TLS version, namely v1.2, for SSLContext. #13760
    • There is a scheduled task to clean the client resources. When an endpoint is removed, this task keeps a reference to it and this was causing unnecessary leak. This is fixed by passing only the necessary field objects of the client endpoint to this task to avoid keeping reference to the client endpoint itself. #13755
    • When merging MultiMap entries, MERGE events were being fired. Now they are not since MultiMap does not have a merging listener. #13714
    • Fixed the heartbeat resume mechanism where the heartbeat of a connection was becoming unhealthy when the last read time is lower than the heartbeat timeout. #13684
    • Added the storage.clear operation before storage.destroy to release the High-Density (HD) Memory Store resources, since using only storage.destroy releases the internal resources of backing data structure, not the HD resources. #13659
    • Moved the alive check in ClientConnectionManager to a more centralized method and fixed the exception type. #13525
    • Fixed an issue where a joining member was not validating the initial cluster version. #13390
    • When a Near Cache is used for an IMap and a TransactionalMap is used on a client then the get(key) operation fails reporting a wrong key type. This is fixed by skipping the Near Cache lookup at the member side, for the client’s transaction request. #13371
    • HDTxnSetOperation was not taking the changes made by MapInterceptor into account while sending the backups. Now it replicates the result of interceptPut. #12705

    3.10.5

    This document includes the new features, enhancements and fixed issues for Hazelcast IMDG v3.10.5, Open Source edition release.

    Enhancements

    • Introduced OperationThreadSamples as a new diagnostics plugin. It samples the operation threads and checks the running operations/tasks. See OperationThreadSamples.

    Fixes

    • Added a workaround for the Constructor cache, which performs caching under incorrect keys, such that you have now the option not to use that cache. #13679
    • A client connection could not detect whether it has been idle and hence the member was closing the connection. This is fixed now so that the member does not close the connections when the clients only listen. #13576
    • Fixed the MultiMapValue serialization error occurred when merging MultiMap entries. It was caused by firing MERGE events which expect the entry values to be serialized. Since MultiMap does not have a MERGE listener, there was no need to fire these events; this has been fixed and now no MERGE events are fired during the merging process. #13559
    • When a client is waiting for a lock to be released for a period more than invocation timeout seconds and the member dies, the client was getting an operation timeout exception. This behavior is fixed so that the operation is now retried on the new member of that lock. #13551

    ... (truncated)

    Commits
    • 1500bbb Use fixed past base time for Record timestamps (#13983)
    • bfe2442 Update release_notes.txt
    • 68d61da Merge pull request #13972 from furkansenharputlu/3.11
    • 8ee6d20 add user-lib to classpath
    • 83a3765 Update changelog.txt
    • 7d3c1e3 Update release_notes.txt
    • 701f0b2 3.11
    • e6d277b Merge pull request #13956 from ahmetmircik/fix/3.11/CacheExpirationBouncingMe...
    • 99a59a1 Merge pull request #13957 from ahmetmircik/fix/3.11/checkDestroyedNC
    • 1c55a2c Sent queued expired keys on commit migration step
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump poi from 3.17 to 4.1.1 in /orienteer-camel

    Bump poi from 3.17 to 4.1.1 in /orienteer-camel

    Bumps poi from 3.17 to 4.1.1.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump poi-scratchpad from 3.15 to 5.2.1 in /orienteer-camel

    Bump poi-scratchpad from 3.15 to 5.2.1 in /orienteer-camel

    Bumps poi-scratchpad from 3.15 to 5.2.1.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump log4j-core from 2.15.0 to 2.17.1

    Bump log4j-core from 2.15.0 to 2.17.1

    Bumps log4j-core from 2.15.0 to 2.17.1.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v1.5)
Owner
Orienteer
Open Source Business Application Platform
Orienteer
Cloud Native and Low Code Platform to create FullStack web Admin applications in minutes

Cloud Native and Low Code Platform to create FullStack web Admin applications in minutes ✨ Features & Technologies REST API generator Low Code CRUD &

Gemini Framework 171 Dec 26, 2022
Lattice is a powerful, lightweight business extension invoke framework. By using the Lattice framework, complex business customization can be efficiently organized and managed.

Lattice Framework Introduction Lattice is a powerful, lightweight business extension invoke framework. By using the Lattice framework, complex busines

null 41 Dec 30, 2022
🏗 Build container images for your Java applications.

Jib ☑️ Jib User Survey What do you like best about Jib? What needs to be improved? Please tell us by taking a one-minute survey. Your responses will h

null 12.4k Jan 9, 2023
Critter Chronologer a Software as a Service application that provides a scheduling interface for a small business that takes care of animals

Critter Chronologer a Software as a Service application that provides a scheduling interface for a small business that takes care of animals. This Spring Boot project will allow users to create pets, owners, and employees, and then schedule events for employees to provide services for pets.

Rasha Omran 1 Jan 28, 2022
In this course, we will learn how to build a complete full-stack web application using Spring boot as backend and React (React Hooks) as frontend

In this course, we will learn how to build a complete full-stack web application using Spring boot as backend and React (React Hooks) as frontend. We will use MySQL database to store and retrieve the data.

Ramesh Fadatare 43 Dec 22, 2022
This is a Food Delivery Mobile Application. Build Using React Native

Ax Food Delivery Service This is a Food Delivery Mobile Application build using ?????????? ???????????? ?? Installation Clone this repository git clon

Mindula Dilthushan Manamperi 13 Jul 14, 2022
Curated Collection of all Low level design Questions and implementation asked in major Tech companies , Get yourself prepared for the LLD round and ace the interview.

Low level Design / Machine Coding Question Collections What is Machine Coding Round ? Machine Coding Round has become very popular interview round in

Kumaran gowthaman 619 Dec 31, 2022
The bapeclient decompiled source code (Build able)

请大家帮忙泄露一份吴雨桐女士的最新客户端 根据吴女士在客户端被反编译之后毫不在意的态度吴女士可能即将要跑路,如果有人可以泄露吴女士的最新客户端可以创建issue(除了Bape更新) Bape 3.32 Decompiled and ModCode Pack Renamed 太烂了,快离开我的世界开外

Czf_233 10 Jan 7, 2023
Bank Statement Analyzer Application that currently runs in terminal with the commands: javac Application.java java Application [file-name].csv GUI coming soon...

Bank Statement Analyzer Application that currently runs in terminal with the commands: javac Application.java java Application [file-name].csv GUI coming soon...

Hayden Hanson 0 May 21, 2022
Tuya 37 Dec 26, 2022
OpenL Tablets Business Rules Management System

Easy Business Rules OpenL Tablets targets the infamous gap between business requirements (rules and policies) and software implementation. Designed to

OpenL Tablets 114 Dec 17, 2022
Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.

Cadence This repo contains the source code of the Cadence server and other tooling including CLI, schema tools, bench and canary. You can implement yo

Uber Open Source 6.5k Jan 4, 2023
Highly customized business metrics monitoring with TDengine & Spring Boot

Horus —— Highly customized business metrics monitoring with TDengine & Spring Boot 给予业务指标监控的高度定制自由 设计文档:https://akhnhwmr9k.feishu.cn/wiki/wikcnJJFmDHj

ArchLiu 6 Jun 17, 2022
Two Spring-boot applications registering themselves to an spring-boot-admin-server application as separate clients for the purpose of monitoring and managing the clients

Spring-boot-admin implementation with 1 Server and 2 clients Creating a Server application to monitor and manage Spring boot applications (clients) un

null 6 Dec 6, 2022
JHipster Lite ⚡ is a development platform to generate, develop & deploy modern web applications & microservice architectures, step by step.

JHipster Lite ⚡ Description JHipster is a development platform to quickly generate, develop & deploy modern web applications & microservice architectu

JHipster 255 Jan 3, 2023
An example on how to build a configurable widget to trigger external searches along with Liferay search to Elasticsearch.

Liferay External Searches An example on how to build a configurable widget to trigger external searches along with Liferay search to Elasticsearch. Ge

Louis-Guillaume Durand 4 Oct 25, 2021
Build criterion and ecosystem above multi-model databases

ShardingSphere - Building a Criterion and Ecosystem Above Multi-Model Databases Official Website: https://shardingsphere.apache.org/ Stargazers Over T

The Apache Software Foundation 17.8k Jan 9, 2023
Jlink.online - Build optimized Java runtimes in your browser!

jlink.online is a HTTP microservice that builds optimized/minimized Java runtimes on the fly. This project is currently experimental and subject to ch

Tyler Cook 1 Dec 2, 2020
Querystream - Build JPA Criteria queries using a Stream-like API

QueryStream QueryStream allows you to perform JPA queries using a Stream-like API. Just like a Java 8 Stream, a QueryStream is built up in a pipeline,

null 11 Sep 24, 2022