You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Dirk Reske (JIRA)" <ji...@apache.org> on 2015/04/20 11:14:58 UTC
[jira] [Updated] (CAMEL-8673) ConcurrentModificationException when
creating dynamic routes
[ https://issues.apache.org/jira/browse/CAMEL-8673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dirk Reske updated CAMEL-8673:
------------------------------
Description:
This Ticket refers to CAMEL-7836.
The fix seems to be slightly wrong. (We still geht the ConcurrentModificationException)
The cause seems to be in removeRouteCollection and addRouteCollection. See here:
{code}
void removeRouteCollection(Collection<Route> routes) {
synchronized (routes) {
this.routes.removeAll(routes);
}
}
{code}
Here the code synchronizes on the routes parameter, but getRoutes synchronizes on this.routes. (the same in addRouteCollection)
was:
This Ticket refers to CAMEL-7836.
The fix seems to be slightly wrong. (We still geht the ConcurrentModificationException)
The cause seems to be in removeRouteCollection and addRouteCollection. See here:
void removeRouteCollection(Collection<Route> routes) {
synchronized (routes) {
this.routes.removeAll(routes);
}
}
Here the code synchronizes on the routes parameter, but getRoutes synchronizes on this.routes. (the same in addRouteCollection)
> ConcurrentModificationException when creating dynamic routes
> ------------------------------------------------------------
>
> Key: CAMEL-8673
> URL: https://issues.apache.org/jira/browse/CAMEL-8673
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.14.1
> Reporter: Dirk Reske
> Priority: Minor
>
> This Ticket refers to CAMEL-7836.
> The fix seems to be slightly wrong. (We still geht the ConcurrentModificationException)
> The cause seems to be in removeRouteCollection and addRouteCollection. See here:
> {code}
> void removeRouteCollection(Collection<Route> routes) {
> synchronized (routes) {
> this.routes.removeAll(routes);
> }
> }
> {code}
> Here the code synchronizes on the routes parameter, but getRoutes synchronizes on this.routes. (the same in addRouteCollection)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)