Comments (2)
Hey @Nuclear-Liu 👋
What you see is the expected behaviour. Your assumption has one shortcoming – you expect the source to emit without any Subscriber
(as you start counting the time assuming items are silently dropped). Please consult the javadoc of the share()
operator, which stands for a shorthand of publish().refCount()
. This means that the initial subscription happens when the first subscriber appears. If we modify your example in the following way:
Flux<Integer> coldFlux = Flux.range(1, 7)
.delayElements(Duration.ofMillis(100))
/*.doOnNext(System.out::println)*/;
Flux<Integer> shareSource = coldFlux.share();
// Nothing happens yet! Only after the following call:
shareSource.subscribe(item -> System.out.println("sub1 data:" + item));
// Now, during the 350ms 3 items are consumed by sub1
TimeUnit.MILLISECONDS.sleep(350);
// sub2 arrives 350ms into the sub1's subscription and in 50ms will receive item 4!
shareSource.subscribe(item -> System.out.println("sub2 data:" + item));
TimeUnit.MILLISECONDS.sleep(2000);
The output is as follows:
sub1 data:1
sub1 data:2
sub1 data:3
sub1 data:4
sub2 data:4
sub1 data:5
sub2 data:5
sub1 data:6
sub2 data:6
sub1 data:7
sub2 data:7
I'm closing this issue as invalid. Please consider StackOverflow in the future if you have further questions.
from reactor-core.
Thinks!
from reactor-core.
Related Issues (20)
- Flaky test - DefaultTestSubscriberTest HOT 5
- context lost when using Mono.create with threads HOT 2
- [test] Verify Initialization of Default Labels
- Too difficult to control how much Reactor buffers internally HOT 2
- Enabled Automatic Context Propagation and context propagation with lift causes ClassCastException HOT 10
- [Flaky test] FluxCreateTest.fluxCreateOnRequestMultipleThreadsSlowProducer
- BoundedElasticThreadPerTaskSchedulerTest > ensuresTasksScheduling() FAILED HOT 4
- SinksTest > OptimisticEmitFailureHandlerTest > shouldRetryOptimistically() FAILED
- Add bufferWeightedWithin operator.
- thenMany does not ignore all emissions of a concat due to incorrect optimization HOT 2
- FluxBufferWhenTest > timedOutBuffersDontLeak() FAILED
- Support Considering Individual Element Weight in Determining Buffer Boundary instead of Element Counts
- Javadoc for some versions is missing from the website HOT 3
- Flux.mergeSequential does not subscribe to last Producer in specific circumstances HOT 1
- Failing while building reactor-core version 3.4.18 using ./gradlew build (io.projectreactor:reactor-core:3.4.18) HOT 4
- Fatal exceptions not caught in onErrorDropped Hook HOT 2
- autoConnect(0) seems to be broken - late subscribers receive data
- Example titles are not prefixed with Example N.
- Redirect old docs links to new Antora docs links
- Monospace not rendered correctly in Antora Example titles
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reactor-core.