[
https://issues.redhat.com/browse/WFLY-13871?page=com.atlassian.jira.plugi...
]
Richard Achmatowicz commented on WFLY-13871:
--------------------------------------------
For each EJBServerChannel which is created on the server side, there is a separate
instance of ClusterTopologyListener and ModuleAvailabilityListener created. In the case of
ModuleAvailabilityListener, it provides an API with methods such as
moduleAvailable(List<EJBModuleIdentifier> modules) and
moduleUnavailable(List<EJBModuleIdentifier> modules) which permit notifying the
client on the other end of which modules are or are not available.
Due to the way individual EJBServerChannels (which unpack and pack messages) are tied into
the single AssociationImpl (which processes unpacked invocations and returns unpacked
results), these listeners are defined in the EJBServerChannel and instances of them are
registered by the AssociationImpl by methods registerClusterTopologyListener and
registerModuleAvailabilityListener.
This issue can be solved by creating a third listener, SuspendResumeListener and
registering it using a method registerSuspendResumeListener in exactly the same way as the
others.
Then
Re-implement correct suspend/resume behaviour for EJB client
------------------------------------------------------------
Key: WFLY-13871
URL:
https://issues.redhat.com/browse/WFLY-13871
Project: WildFly
Issue Type: Bug
Components: EJB
Affects Versions: 21.0.0.Beta1
Reporter: Richard Achmatowicz
Assignee: Richard Achmatowicz
Priority: Major
Fix For: 21.0.0.Beta1
When a server is suspended, in order to avoid receipt of invocations which will never be
correctly processed, all connected clients should be notified that all modules on that
server are now unavailable; when the server is resumed, all connected clients should be
notified that all modules on that server are now again available so that the server may
again take part in processing invocations.
This behaviour was present in versions of EAP before EAP 7.1 but was not ported over to
the new EJB client server-side classes which were substantially refactored.
This issue will re-instante that behaviour. The two cases of standalone and clustered
deployments should be considered.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)