[
https://issues.apache.org/jira/browse/ARTEMIS-1447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16198740#comment-16198740
]
ASF GitHub Bot commented on ARTEMIS-1447:
-----------------------------------------
Github user franz1981 commented on the issue:
https://github.com/apache/activemq-artemis/pull/1576
@clebertsuconic You're right, I need to take a better example to explain
what I mean.
Quoting from the `CriticalAnaylizerImpl`:
```
// we are not using any Thread Pool or any Scheduled Executors from
the ArtemisServer
// as that would defeat the purpose,
// as in any deadlocks the schedulers may be starving for something
not responding fast enough
thread = new Thread("Artemis Critical Analyzer")
```
The reason is similar: if for any reason (eg deadlocks/long JVM pauses/a
single long running task) the live/backup locks wouldn't be renewed with the
correct timing (ie not a matter to be fast but with a correct timing), the
mechanics of the node manager will be compromised. It sounds cathastrofic but
is the same limitation of the original JDBC lock of ActiveMQ 6:
[LeaseDatabaseLocker](https://github.com/apache/activemq/blob/master/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/LeaseDatabaseLocker.java
).
Hence I need 2 executors that cannot be shared with none in order to
minimize the chance of being slowed down.
To summarize:
> if you need your own executor, still use the component which encapsulates
that..
I need 2 of them (live + backup), not shared and to use
`scheduleWithFixedRate` instead of `scheduleWithFixedDelay` used in the
`ActiveMQScheduledComponent`: probably is not the right choice.
> if you can reuse one from the pool.. (It seems you can).. you can just
pass in the argument.
I can pass them in the argument, but given that I need them to be unshared
and I can't be sure of it if they will be instantiated elsewhere.
In order to use your advice what I can do (maybe similar) is to pass a
common thread pool and run the scheduled executors on top of it.
And Re the package there is a good place (and module) in your opinion where
I could move the classes?
> JDBC NodeManager to support JDBC HA Shared Store
> ------------------------------------------------
>
> Key: ARTEMIS-1447
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1447
> Project: ActiveMQ Artemis
> Issue Type: New Feature
> Components: Broker
> Reporter: Francesco Nigro
>
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)