java.lang.Object |
↳ |
com.atlassian.jira.service.services.file.AbstractMessageHandlingService.HandlerDisablementListener |
This class is an internal implementation detail and will change without notice.
Clients that depend on
@Internal
classes and interfaces can not expect to be compatible with any version
other than the version they were compiled against (even minor version and milestone releases may break binary
compatibility with respect to
@Internal
elements).
Class Overview
This class only purpose is to respond quickly to possible disablement of a plugin module which defines
the handler used by descendants of AbstractMessageHandlingService class.
In such case, to avoid resource leaks and classes from disabled (or even uninstalled) plugins, we want to
clear the reference to such handler as soon as possible.
Because destroy() is not called on services as it should (but really only when whole JIRA goes down),
we have to also handle situations where services are edited which means old instances are just thrown away
(are not strongly accessible anymore) and a new service instance is created.
This is how JIRA works and I don't dare change it between 5.0 RC2 and 5.0 final.
This class is made public only because of one thing: SAL (nor any Java code without further tricks) is not able
to call methods "exposed" with @EventListener (and not via regular interface => polymorphism) when whole class
is not public.
If we had normal interfaces for SAL notifications, we could do with a private class (as in vast majority of other cases)
Summary
[Expand]
Inherited Methods |
From class
java.lang.Object
Object
|
clone()
|
boolean
|
equals(Object arg0)
|
void
|
finalize()
|
final
Class<?>
|
getClass()
|
int
|
hashCode()
|
final
void
|
notify()
|
final
void
|
notifyAll()
|
String
|
toString()
|
final
void
|
wait()
|
final
void
|
wait(long arg0, int arg1)
|
final
void
|
wait(long arg0)
|
|
Public Methods