Hi, my system is generating a lot of exchanges (many concurrent threads), so many that creating an exchange becomes a bottleneck. An exchangeId is created by the UuidGenerator class, which is using java.security.SecureRandom. SecureRandom then calls its secureRandomSpi:
UuidGenerator.generateUuid() -> UUID.randomUUID() -> secureRandom.nextBytes(n) -> secureRandomSpi.engineNextBytes(n) where secureRandomSpi.engineNextBytes(n) is synchronized. Obviously, this call becomes a bottleneck. I have modified UuidGenerator so that it creates a 1-up number (probably not the best, but it worked for the time being) and I saw a major performance gain. Would it be possible to: 1- Change the way Camel creates the exchangeId? - or - 2- Provide a hook where we could supply our own ExchangeIdFactory? If we use our own factory, what are the constraints? Thanks. -- View this message in context: http://camel.465427.n5.nabble.com/UuidGenerator-performance-issue-tp2846866p2846866.html Sent from the Camel - Users mailing list archive at Nabble.com.