public void init(Map stormConf, TopologyContext topologyContext, OutputCollector collector, ParserConfigurations configurations) { if(isBulk) { writerTransformer = config -> configStrategy.createWriterConfig(messageWriter, config); } else { writerTransformer = config -> new SingleBatchConfigurationFacade(configStrategy.createWriterConfig(messageWriter, config)); } try { messageWriter.init(stormConf, topologyContext, writerTransformer.apply(configurations)); } catch (Exception e) { throw new IllegalStateException("Unable to initialize message writer", e); } this.writerComponent = new BulkWriterComponent<JSONObject>(collector, isBulk, isBulk) { @Override protected Collection<Tuple> createTupleCollection() { return new HashSet<>(); } }; }
bolt.prepare(new HashMap(), topologyContext, outputCollector); doThrow(new Exception()).when(batchWriter).write(any(), any(), any(), any()); verify(batchWriter, times(1)).init(any(), any(), any()); for(int i = 0;i < 4;++i) { Tuple t = tuples.get(i);
verify(batchWriter, times(1)).init(any(), any(), any()); for(int i = 0;i < 4;++i) { Tuple t = tuples.get(i);
verify(batchWriter, times(1)).init(any(), any(), any());
verify(batchWriter, times(1)).init(any(), any(), any());
new FieldsMatcher("message"))); Map stormConf = new HashMap(); doThrow(new Exception()).when(bulkMessageWriter).init(eq(stormConf),any(TopologyContext.class), any(WriterConfiguration.class)); try { bulkMessageWriterBolt.prepare(stormConf, topologyContext, outputCollector); when(bulkMessageWriter.getName()).thenReturn("hdfs"); bulkMessageWriterBolt.prepare(stormConf, topologyContext, outputCollector); verify(bulkMessageWriter, times(1)).init(eq(stormConf),any(TopologyContext.class), any(WriterConfiguration.class)); tupleList = new ArrayList<>(); messageList = new ArrayList<>();
when(bulkMessageWriter.getName()).thenReturn("elasticsearch"); bulkMessageWriterBolt.prepare(stormConf, topologyContext, outputCollector, clock); verify(bulkMessageWriter, times(1)).init(eq(stormConf),any(TopologyContext.class), any(WriterConfiguration.class)); int batchTimeout = bulkMessageWriterBolt.getDefaultBatchTimeout(); assertEquals(4, batchTimeout);
when(bulkMessageWriter.getName()).thenReturn("elasticsearch"); bulkMessageWriterBolt.prepare(stormConf, topologyContext, outputCollector, clock); verify(bulkMessageWriter, times(1)).init(eq(stormConf),any(TopologyContext.class) , any(WriterConfiguration.class)); int batchTimeout = bulkMessageWriterBolt.getDefaultBatchTimeout();
bulkMessageWriter.init(stormConf, context, writerconf); } catch (Exception e) { throw new RuntimeException(e);