Alex

Results 19 comments of Alex

I have experimented with the following changes to LocalScope class: private LocalScopeData localData = new LocalScopeData(); private Stack localDataSnapshots = new Stack(); private boolean localDataCloned; private boolean localDataCloneOnWrite; public void...

Few props that are not recognized by default: -moz-flex-flow -moz-align-content -ms-align-content text-justify touch-action -ms-touch-action -o-border-radius -ms-border-radius -o-box-shadow -o-filter -o-text-shadow -moz-filter -webkit-text-shadow -moz-text-shadow -moz-flex-grow -ms-flex-grow -moz-flex-wrap user-select -o-user-select column-break-inside -moz-column-break-inside -moz-flex-shrink...

Another example where simple set of characters regex kills performance is in serialize-javascript module: var UNSAFE_CHARS_REGEXP = /[\/\u2028\u2029]/g; ... var ESCAPED_CHARS = { '' : '\\u003E', '/' : '\\u002F', '\u2028':...

There is one more item that needs checking. Every "send" operation in the Sender is concluded by closing the channel by default (default implementation of the channelCloseHandler). .doFinally(st -> channelCloseHandler.accept(st,...

One more item I noticed is that default SendOptions uses exceptionHandler with ExceptionHandlers.CONNECTION_RECOVERY_PREDICATE. This also creates some "effects" when using retry with connections.

I am not quite sure what the best API would be. For example when using sender.send with a Flux of messages it's hard to get the success/failure confirmation for each...

Probably yes. In addition to that Mono Void ( then() ) that is currently returned is "hard" to work with in Reactor. It does not trigger doOnSuccess or subscribe(ok ->...

My objective was to have a Flux that can survive RabbitMQ cluster crush/restart (all nodes) and just resume streaming when Rabbit is back up (auto-recover from the RabbitMQ failures). Basically...

The topology declaration (re-declaration) was part of the chain. Flux flux = declareTopology(sender).flatMapMany(ok -> receiver.consumeManualAck(queueName, consumeOptions)).flatMap(Mono::just, Mono::error, () -> Mono.error(new EOFException())).retryWhen(retryConnection())... So basically declaration is part of the retry.

So may be at least do not cache() permanently non-recoverable connections and channels. And I think that Receiver also assumes the auto recoverable connection and does not work well when...