At ActiveMQ and ActiveMQ Artemis, ConnectionFactories have an
interesting feature where you can pass parameters through an URI.
I was looking at Producer and Consumer APIs, and these two classes are
using a method that I considered old for Artemis resembling HornetQ:
Instead of passing a Properties (aka HashMaps), users would be able to
create a Consumer or Producer by simply doing:
new Consumer("tcp::/host:port?properties=values;properties=values...etc");
Example:
Instead of the following:
Map<String, Object> config = new HashMap<>();
config.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9999");
config.put(ConsumerConfig.RECEIVE_BUFFER_CONFIG, -2);
new KafkaConsumer<>(config, new ByteArrayDeserializer(), new
ByteArrayDeserializer());
Someone could do
new KafkaConsumer<>("tcp://localhost:9999?receive.buffer.bytes=-2",
new ByteArrayDeserializer(), new ByteArrayDeserializer());
I don't know if that little API improvement would be welcomed? I would be
able to send a Pull Request but I don't want to do it if that wouldn't
be welcomed in the first place:
Just an idea... let me know if that is welcomed or not.
If so I can forward the discussion into how I would implement it.