Skip to content
This repository was archived by the owner on Dec 7, 2023. It is now read-only.

Java unsupported features

Pierlauro Sciarelli edited this page Dec 2, 2019 · 1 revision

Current version of dataClay has some unsupported features for Java class models. Most significant ones are listed below.

  • Non-final static attributes or class attributes. Only final static attributes are supported.
  • User-defined interfaces. Only language predefined interfaces can be implemented.
  • Non-distributed synchronized. You can code a synchronized method or statement, but they will be only effective in a per-backend basis. That is, synchronize on a method or object will not behave as a distributed lock.
  • Assertions. Due to its exceptional behavior, currently we are not providing assert support since it will require special flags to execute JVM on dataClay backends.
  • Third-party libraries. You can assume that classes from JDK 1.8 (i.e. java.util.*) are available for your data models, but current version of dataClay does not support the registration of external jar files.
  • Handover of lambda functions. Lambdas can only be used in the context of a single execution environment. That is, lambdas cannot be passed in remote execution requests.
  • User-defined exceptions. You can throw Java exceptions from methods of your registered class models, but you cannot define your own Exceptions as part of your class model.
  • Handover of non-serializable Java classes. They can be used within a method (e.g. Iterators), but cannot be passed as argument or returned as result.

Clone this wiki locally