-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathReleaseNotes.txt
81 lines (60 loc) · 3.36 KB
/
ReleaseNotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
--------------------------------------------------------------------------------
05/15/2020
--------------------------------------------------------------------------------
The way the URI of a JVM is accessed in a component virtual machine has been
changed to standardise and unify it between AbstractCVM and
AbstractDistributedCVM. Now the static method AbstractCVM#getThisJVMURI is
operational to do so.
--------------------------------------------------------------------------------
05/11/2020
--------------------------------------------------------------------------------
This release completes the corrections made in the previous release to
cater for interfaces used in BCM tools and examples that were using
Java interfaces as implementation interfaces for components that are
inherited by component interfaces and therefore no longer considered
as remote methods. The applied correction is simply to redeclare the
inherited methods in the remote interface.
--------------------------------------------------------------------------------
04/21/2020
--------------------------------------------------------------------------------
This release corrects a bug introduced by the "new" semantics of RMI as it
appeared with jdk1.8.0_241: methods inherited by a remote interface are no
longer considered as remote if the interface that declares the method is
not itself remote. Before this release, programmers could architect interfaces
using the following pattern:
public interface A {
public void m(...) throws Exception ;
}
public interface B extends A, Remote {
}
and then method m would be considered as remote. As per jdk1.8.0_241, this is
no longer the case: A must extend Remote in order for m to be considered as
remote.
To solve the problems related to this new semantics, the interface PortI now
extends Remote.
--------------------------------------------------------------------------------
04/10/2020
--------------------------------------------------------------------------------
This release presents only minor modifications:
- added the possibility to create executor services on components from a
plug-in.
--------------------------------------------------------------------------------
03/26/2020
--------------------------------------------------------------------------------
This release presents some important modifications:
- The series of methods in AbstractComponent which submit requests and tasks
to the component have been modified to explicit the exact exceptions that
they throw to facilitate the exception handling in the calling code.
- The series of methods handleRequestAsync has been eliminated to clarify the
role of the different requests/tasks submission methods. Now, all methods
referring to requests are synchronous and all methods referring to tasks are
asynchronous.
- The series of methods in AbstractComponent which submit requests and tasks
to the component has also been clarified to have on one side internal
(protected) methods that return futures, which can be used inside components
to run requests and tasks asynchronously and synchronise on these futures,
and external (public) methods that do not return futures because BCM does not
have futures for RMI call yet.
- In AbstractComponent, the creation of pool of threads have been modified to
use executor service factories, which allows programmers to create customised
pools.