You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/02/06 12:05:01 UTC

[camel] 08/18: CAMEL-16102: Source code generate @InvokeOnHeader for reflection free

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch on-header
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 5b1538ea7ae1d3ea840557eeb9ec80822665a47e
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Feb 4 16:27:37 2021 +0100

    CAMEL-16102: Source code generate @InvokeOnHeader for reflection free
---
 .../AtomixMapProducerInvokeOnHeaderFactory.java    |  28 +--
 ...omixMessagingProducerInvokeOnHeaderFactory.java |   4 +-
 ...tomixMultiMapProducerInvokeOnHeaderFactory.java |  16 +-
 .../AtomixQueueProducerInvokeOnHeaderFactory.java  |  16 +-
 .../AtomixSetProducerInvokeOnHeaderFactory.java    |  16 +-
 .../AtomixValueProducerInvokeOnHeaderFactory.java  |   8 +-
 .../client/AbstractAtomixClientProducer.java       |  25 +--
 .../web3j/Web3jProducerInvokeOnHeaderFactory.java  | 232 ++++++++++-----------
 .../org.apache.camel.component.web3j.Web3jProducer |   2 +-
 .../camel/component/web3j/Web3jProducer.java       |  10 -
 .../camel/support/HeaderSelectorProducer.java      |   4 +-
 .../packaging/GenerateInvokeOnHeaderMojo.java      |   7 +-
 12 files changed, 169 insertions(+), 199 deletions(-)

diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/map/AtomixMapProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/map/AtomixMapProducerInvokeOnHeaderFactory.java
index 2b4beca..d8cc6e8 100644
--- a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/map/AtomixMapProducerInvokeOnHeaderFactory.java
+++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/map/AtomixMapProducerInvokeOnHeaderFactory.java
@@ -16,30 +16,30 @@ public class AtomixMapProducerInvokeOnHeaderFactory implements InvokeOnHeaderStr
     public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
         org.apache.camel.component.atomix.client.map.AtomixMapProducer target = (org.apache.camel.component.atomix.client.map.AtomixMapProducer) obj;
         switch (key) {
-        case "size":
-        case "SIZE": return target.onSize(exchange.getMessage(), callback);
-        case "entry_set":
-        case "ENTRY_SET": return target.onEntrySet(exchange.getMessage(), callback);
+        case "values":
+        case "VALUES": return target.onValues(exchange.getMessage(), callback);
+        case "is_empty":
+        case "IS_EMPTY": return target.onIsEmpty(exchange.getMessage(), callback);
         case "replace":
         case "REPLACE": return target.onReplace(exchange.getMessage(), callback);
-        case "remove":
-        case "REMOVE": return target.onRemove(exchange.getMessage(), callback);
+        case "put_if_absent":
+        case "PUT_IF_ABSENT": return target.onPutIfAbsent(exchange.getMessage(), callback);
         case "get":
         case "GET": return target.onGet(exchange.getMessage(), callback);
         case "put":
         case "PUT": return target.onPut(exchange.getMessage(), callback);
+        case "entry_set":
+        case "ENTRY_SET": return target.onEntrySet(exchange.getMessage(), callback);
+        case "size":
+        case "SIZE": return target.onSize(exchange.getMessage(), callback);
+        case "clear":
+        case "CLEAR": return target.onClear(exchange.getMessage(), callback);
+        case "remove":
+        case "REMOVE": return target.onRemove(exchange.getMessage(), callback);
         case "contains_value":
         case "CONTAINS_VALUE": return target.onContainsValue(exchange.getMessage(), callback);
-        case "values":
-        case "VALUES": return target.onValues(exchange.getMessage(), callback);
         case "contains_key":
         case "CONTAINS_KEY": return target.onContainsKey(exchange.getMessage(), callback);
-        case "clear":
-        case "CLEAR": return target.onClear(exchange.getMessage(), callback);
-        case "is_empty":
-        case "IS_EMPTY": return target.onIsEmpty(exchange.getMessage(), callback);
-        case "put_if_absent":
-        case "PUT_IF_ABSENT": return target.onPutIfAbsent(exchange.getMessage(), callback);
         default: return null;
         }
     }
diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducerInvokeOnHeaderFactory.java
index 2065291..445c845 100644
--- a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducerInvokeOnHeaderFactory.java
+++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducerInvokeOnHeaderFactory.java
@@ -16,10 +16,10 @@ public class AtomixMessagingProducerInvokeOnHeaderFactory implements InvokeOnHea
     public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
         org.apache.camel.component.atomix.client.messaging.AtomixMessagingProducer target = (org.apache.camel.component.atomix.client.messaging.AtomixMessagingProducer) obj;
         switch (key) {
-        case "broadcast":
-        case "BROADCAST": return target.onBroadcast(exchange.getMessage(), callback);
         case "direct":
         case "DIRECT": return target.onDirect(exchange.getMessage(), callback);
+        case "broadcast":
+        case "BROADCAST": return target.onBroadcast(exchange.getMessage(), callback);
         default: return null;
         }
     }
diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducerInvokeOnHeaderFactory.java
index b4d5979..5597dca 100644
--- a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducerInvokeOnHeaderFactory.java
+++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducerInvokeOnHeaderFactory.java
@@ -16,22 +16,22 @@ public class AtomixMultiMapProducerInvokeOnHeaderFactory implements InvokeOnHead
     public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
         org.apache.camel.component.atomix.client.multimap.AtomixMultiMapProducer target = (org.apache.camel.component.atomix.client.multimap.AtomixMultiMapProducer) obj;
         switch (key) {
-        case "get":
-        case "GET": return target.onGet(exchange.getMessage(), callback);
-        case "remove":
-        case "REMOVE": return target.onRemove(exchange.getMessage(), callback);
         case "is_empty":
         case "IS_EMPTY": return target.onIsEmpty(exchange.getMessage(), callback);
+        case "size":
+        case "SIZE": return target.onSize(exchange.getMessage(), callback);
         case "contains_key":
         case "CONTAINS_KEY": return target.onContainsKey(exchange.getMessage(), callback);
         case "put":
         case "PUT": return target.onPut(exchange.getMessage(), callback);
-        case "clear":
-        case "CLEAR": return target.onClear(exchange.getMessage(), callback);
-        case "size":
-        case "SIZE": return target.onSize(exchange.getMessage(), callback);
         case "remove_value":
         case "REMOVE_VALUE": return target.onRemoveValue(exchange.getMessage(), callback);
+        case "get":
+        case "GET": return target.onGet(exchange.getMessage(), callback);
+        case "clear":
+        case "CLEAR": return target.onClear(exchange.getMessage(), callback);
+        case "remove":
+        case "REMOVE": return target.onRemove(exchange.getMessage(), callback);
         default: return null;
         }
     }
diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducerInvokeOnHeaderFactory.java
index be270c7..3f60ee6 100644
--- a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducerInvokeOnHeaderFactory.java
+++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducerInvokeOnHeaderFactory.java
@@ -16,24 +16,24 @@ public class AtomixQueueProducerInvokeOnHeaderFactory implements InvokeOnHeaderS
     public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
         org.apache.camel.component.atomix.client.queue.AtomixQueueProducer target = (org.apache.camel.component.atomix.client.queue.AtomixQueueProducer) obj;
         switch (key) {
+        case "poll":
+        case "POLL": return target.onPoll(exchange.getMessage(), callback);
         case "clear":
         case "CLEAR": return target.onClear(exchange.getMessage(), callback);
-        case "add":
-        case "ADD": return target.onAdd(exchange.getMessage(), callback);
+        case "size":
+        case "SIZE": return target.onSize(exchange.getMessage(), callback);
         case "contains":
         case "CONTAINS": return target.onContains(exchange.getMessage(), callback);
+        case "remove":
+        case "REMOVE": return target.onRemove(exchange.getMessage(), callback);
         case "peek":
         case "PEEK": return target.onPeek(exchange.getMessage(), callback);
+        case "add":
+        case "ADD": return target.onAdd(exchange.getMessage(), callback);
         case "is_empty":
         case "IS_EMPTY": return target.onIsEmpty(exchange.getMessage(), callback);
         case "offer":
         case "OFFER": return target.onOffer(exchange.getMessage(), callback);
-        case "poll":
-        case "POLL": return target.onPoll(exchange.getMessage(), callback);
-        case "remove":
-        case "REMOVE": return target.onRemove(exchange.getMessage(), callback);
-        case "size":
-        case "SIZE": return target.onSize(exchange.getMessage(), callback);
         default: return null;
         }
     }
diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/set/AtomixSetProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/set/AtomixSetProducerInvokeOnHeaderFactory.java
index fd9669e..d432ba5 100644
--- a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/set/AtomixSetProducerInvokeOnHeaderFactory.java
+++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/set/AtomixSetProducerInvokeOnHeaderFactory.java
@@ -16,18 +16,18 @@ public class AtomixSetProducerInvokeOnHeaderFactory implements InvokeOnHeaderStr
     public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
         org.apache.camel.component.atomix.client.set.AtomixSetProducer target = (org.apache.camel.component.atomix.client.set.AtomixSetProducer) obj;
         switch (key) {
-        case "is_empty":
-        case "IS_EMPTY": return target.onIsEmpty(exchange.getMessage(), callback);
-        case "remove":
-        case "REMOVE": return target.onRemove(exchange.getMessage(), callback);
-        case "add":
-        case "ADD": return target.onAdd(exchange.getMessage(), callback);
         case "clear":
         case "CLEAR": return target.onClear(exchange.getMessage(), callback);
-        case "size":
-        case "SIZE": return target.onSize(exchange.getMessage(), callback);
         case "contains":
         case "CONTAINS": return target.onContains(exchange.getMessage(), callback);
+        case "size":
+        case "SIZE": return target.onSize(exchange.getMessage(), callback);
+        case "add":
+        case "ADD": return target.onAdd(exchange.getMessage(), callback);
+        case "remove":
+        case "REMOVE": return target.onRemove(exchange.getMessage(), callback);
+        case "is_empty":
+        case "IS_EMPTY": return target.onIsEmpty(exchange.getMessage(), callback);
         default: return null;
         }
     }
diff --git a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/value/AtomixValueProducerInvokeOnHeaderFactory.java b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/value/AtomixValueProducerInvokeOnHeaderFactory.java
index 4ae1809..ce51057 100644
--- a/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/value/AtomixValueProducerInvokeOnHeaderFactory.java
+++ b/components/camel-atomix/src/generated/java/org/apache/camel/component/atomix/client/value/AtomixValueProducerInvokeOnHeaderFactory.java
@@ -16,14 +16,14 @@ public class AtomixValueProducerInvokeOnHeaderFactory implements InvokeOnHeaderS
     public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
         org.apache.camel.component.atomix.client.value.AtomixValueProducer target = (org.apache.camel.component.atomix.client.value.AtomixValueProducer) obj;
         switch (key) {
-        case "compare_and_set":
-        case "COMPARE_AND_SET": return target.onCompareAndSet(exchange.getMessage(), callback);
         case "set":
         case "SET": return target.onSet(exchange.getMessage(), callback);
-        case "get":
-        case "GET": return target.onGet(exchange.getMessage(), callback);
+        case "compare_and_set":
+        case "COMPARE_AND_SET": return target.onCompareAndSet(exchange.getMessage(), callback);
         case "get_and_set":
         case "GET_AND_SET": return target.onGetAndSet(exchange.getMessage(), callback);
+        case "get":
+        case "GET": return target.onGet(exchange.getMessage(), callback);
         default: return null;
         }
     }
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientProducer.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientProducer.java
index cfdfa42..c9ea246 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientProducer.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientProducer.java
@@ -27,6 +27,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.atomix.AtomixAsyncMessageProcessor;
 import org.apache.camel.support.DefaultAsyncProducer;
+import org.apache.camel.support.HeaderSelectorProducer;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -35,7 +36,7 @@ import static org.apache.camel.component.atomix.client.AtomixClientConstants.RES
 import static org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_NAME;
 
 public abstract class AbstractAtomixClientProducer<E extends AbstractAtomixClientEndpoint, R extends Resource>
-        extends DefaultAsyncProducer {
+        extends HeaderSelectorProducer {
 
     private static final Logger LOG = LoggerFactory.getLogger(AbstractAtomixClientProducer.class);
 
@@ -43,32 +44,12 @@ public abstract class AbstractAtomixClientProducer<E extends AbstractAtomixClien
     private ConcurrentMap<String, R> resources;
 
     protected AbstractAtomixClientProducer(E endpoint) {
-        super(endpoint);
+        super(endpoint, get);
 
         this.processors = new HashMap<>();
         this.resources = new ConcurrentHashMap<>();
     }
 
-    @Override
-    public boolean process(Exchange exchange, AsyncCallback callback) {
-        final Message message = exchange.getIn();
-        final String key = getProcessorKey(message);
-
-        AtomixAsyncMessageProcessor processor = this.processors.get(key);
-        if (processor != null) {
-            try {
-                return processor.process(message, callback);
-            } catch (Exception e) {
-                exchange.setException(e);
-            }
-        } else {
-            exchange.setException(new IllegalArgumentException("No handler for action " + key));
-        }
-
-        callback.done(true);
-        return true;
-    }
-
     // **********************************
     //
     // **********************************
diff --git a/components/camel-web3j/src/generated/java/org/apache/camel/component/web3j/Web3jProducerInvokeOnHeaderFactory.java b/components/camel-web3j/src/generated/java/org/apache/camel/component/web3j/Web3jProducerInvokeOnHeaderFactory.java
index 1ee084b..7acc765 100644
--- a/components/camel-web3j/src/generated/java/org/apache/camel/component/web3j/Web3jProducerInvokeOnHeaderFactory.java
+++ b/components/camel-web3j/src/generated/java/org/apache/camel/component/web3j/Web3jProducerInvokeOnHeaderFactory.java
@@ -16,150 +16,150 @@ public class Web3jProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrateg
     public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
         org.apache.camel.component.web3j.Web3jProducer target = (org.apache.camel.component.web3j.Web3jProducer) obj;
         switch (key) {
-        case "quorum_make_block":
-        case "QUORUM_MAKE_BLOCK": target.quorumMakeBlock(exchange.getMessage()); return null;
-        case "quorum_is_block_maker":
-        case "QUORUM_IS_BLOCK_MAKER": target.quorumIsBlockMaker(exchange.getMessage()); return null;
+        case "eth_get_code":
+        case "ETH_GET_CODE": target.ethGetCode(exchange.getMessage()); return null;
+        case "eth_get_uncle_by_block_number_and_index":
+        case "ETH_GET_UNCLE_BY_BLOCK_NUMBER_AND_INDEX": target.ethGetUncleByBlockNumberAndIndex(exchange.getMessage()); return null;
+        case "quorum_pause_block_maker":
+        case "QUORUM_PAUSE_BLOCK_MAKER": target.quorumPauseBlockMaker(exchange.getMessage()); return null;
+        case "eth_get_block_by_hash":
+        case "ETH_GET_BLOCK_BY_HASH": target.ethGetBlockByHash(exchange.getMessage()); return null;
+        case "eth_get_logs":
+        case "ETH_GET_LOGS": target.ethGetLogs(exchange.getMessage()); return null;
+        case "eth_get_uncle_count_by_block_number":
+        case "ETH_GET_UNCLE_COUNT_BY_BLOCK_NUMBER": target.ethGetUncleCountByBlockNumber(exchange.getMessage()); return null;
+        case "eth_hashrate":
+        case "ETH_HASHRATE": target.ethHashrate(exchange.getMessage()); return null;
+        case "net_peer_count":
+        case "NET_PEER_COUNT": target.netPeerCount(exchange.getMessage()); return null;
         case "shh_has_identity":
         case "SHH_HAS_IDENTITY": target.shhHasIdentity(exchange.getMessage()); return null;
         case "shh_add_to_group":
         case "SHH_ADD_TO_GROUP": target.shhAddToGroup(exchange.getMessage()); return null;
-        case "eth_get_storage_at":
-        case "ETH_GET_STORAGE_AT": target.ethGetStorageAt(exchange.getMessage()); return null;
+        case "net_version":
+        case "NET_VERSION": target.netVersion(exchange.getMessage()); return null;
         case "eth_uninstall_filter":
         case "ETH_UNINSTALL_FILTER": target.ethUninstallFilter(exchange.getMessage()); return null;
-        case "eth_get_filter_changes":
-        case "ETH_GET_FILTER_CHANGES": target.ethGetFilterChanges(exchange.getMessage()); return null;
-        case "eth_get_logs":
-        case "ETH_GET_LOGS": target.ethGetLogs(exchange.getMessage()); return null;
-        case "net_listening":
-        case "NET_LISTENING": target.netListening(exchange.getMessage()); return null;
+        case "quorum_canonical_hash":
+        case "QUORUM_CANONICAL_HASH": target.quorumCanonicalHash(exchange.getMessage()); return null;
+        case "quorum_is_block_maker":
+        case "QUORUM_IS_BLOCK_MAKER": target.quorumIsBlockMaker(exchange.getMessage()); return null;
         case "eth_get_transaction_by_hash":
         case "ETH_GET_TRANSACTION_BY_HASH": target.ethGetTransactionByHash(exchange.getMessage()); return null;
-        case "shh_get_filter_changes":
-        case "SHH_GET_FILTER_CHANGES": target.shhGetFilterChanges(exchange.getMessage()); return null;
-        case "eth_hashrate":
-        case "ETH_HASHRATE": target.ethHashrate(exchange.getMessage()); return null;
-        case "eth_syncing":
-        case "ETH_SYNCING": target.ethSyncing(exchange.getMessage()); return null;
-        case "eth_get_block_transaction_count_by_hash":
-        case "ETH_GET_BLOCK_TRANSACTION_COUNT_BY_HASH": target.ethGetBlockTransactionCountByHash(exchange.getMessage()); return null;
-        case "eth_get_transaction_receipt":
-        case "ETH_GET_TRANSACTION_RECEIPT": target.ethGetTransactionReceipt(exchange.getMessage()); return null;
-        case "eth_estimate_gas":
-        case "ETH_ESTIMATE_GAS": target.ethEstimateGas(exchange.getMessage()); return null;
-        case "eth_send_transaction":
-        case "ETH_SEND_TRANSACTION": target.ethSendTransaction(exchange.getMessage()); return null;
-        case "eth_compile_lll":
-        case "ETH_COMPILE_LLL": target.ethCompileLLL(exchange.getMessage()); return null;
-        case "eth_gas_price":
-        case "ETH_GAS_PRICE": target.ethGasPrice(exchange.getMessage()); return null;
-        case "eth_submit_hashrate":
-        case "ETH_SUBMIT_HASHRATE": target.ethSubmitHashrate(exchange.getMessage()); return null;
-        case "eth_get_balance":
-        case "ETH_GET_BALANCE": target.ethGetBalance(exchange.getMessage()); return null;
-        case "eth_get_block_by_number":
-        case "ETH_GET_BLOCK_BY_NUMBER": target.ethGetBlockByNumber(exchange.getMessage()); return null;
-        case "eth_new_pending_transaction_filter":
-        case "ETH_NEW_PENDING_TRANSACTION_FILTER": target.ethNewPendingTransactionFilter(exchange.getMessage()); return null;
-        case "eth_sign":
-        case "ETH_SIGN": target.ethSign(exchange.getMessage()); return null;
-        case "quorum_pause_block_maker":
-        case "QUORUM_PAUSE_BLOCK_MAKER": target.quorumPauseBlockMaker(exchange.getMessage()); return null;
+        case "shh_new_group":
+        case "SHH_NEW_GROUP": target.shhNewGroup(exchange.getMessage()); return null;
+        case "eth_coinbase":
+        case "ETH_COINBASE": target.ethCoinbase(exchange.getMessage()); return null;
+        case "shh_get_messages":
+        case "SHH_GET_MESSAGES": target.shhGetMessages(exchange.getMessage()); return null;
+        case "quorum_resume_block_maker":
+        case "QUORUM_RESUME_BLOCK_MAKER": target.quorumResumeBlockMaker(exchange.getMessage()); return null;
+        case "quorum_node_info":
+        case "QUORUM_NODE_INFO": target.quorumNodeInfo(exchange.getMessage()); return null;
+        case "eth_get_filter_logs":
+        case "ETH_GET_FILTER_LOGS": target.ethGetFilterLogs(exchange.getMessage()); return null;
+        case "eth_get_transaction_count":
+        case "ETH_GET_TRANSACTION_COUNT": target.ethGetTransactionCount(exchange.getMessage()); return null;
+        case "db_get_hex":
+        case "DB_GET_HEX": target.dbGetHex(exchange.getMessage()); return null;
         case "eth_block_number":
         case "ETH_BLOCK_NUMBER": target.ethBlockNumber(exchange.getMessage()); return null;
-        case "eth_new_filter":
-        case "ETH_NEW_FILTER": target.ethNewFilter(exchange.getMessage()); return null;
-        case "web3_client_version":
-        case "WEB3_CLIENT_VERSION": target.web3ClientVersion(exchange.getMessage()); return null;
+        case "quorum_eth_send_transaction":
+        case "QUORUM_ETH_SEND_TRANSACTION": target.quorumEthSendTransaction(exchange.getMessage()); return null;
+        case "eth_submit_work":
+        case "ETH_SUBMIT_WORK": target.ethSubmitWork(exchange.getMessage()); return null;
+        case "eth_send_raw_transaction":
+        case "ETH_SEND_RAW_TRANSACTION": target.ethSendRawTransaction(exchange.getMessage()); return null;
+        case "net_listening":
+        case "NET_LISTENING": target.netListening(exchange.getMessage()); return null;
+        case "eth_compile_serpent":
+        case "ETH_COMPILE_SERPENT": target.ethCompileSerpent(exchange.getMessage()); return null;
         case "eth_new_block_filter":
         case "ETH_NEW_BLOCK_FILTER": target.ethNewBlockFilter(exchange.getMessage()); return null;
-        case "quorum_is_voter":
-        case "QUORUM_IS_VOTER": target.quorumIsVoter(exchange.getMessage()); return null;
+        case "eth_get_uncle_count_by_block_hash":
+        case "ETH_GET_UNCLE_COUNT_BY_BLOCK_HASH": target.ethGetUncleCountByBlockHash(exchange.getMessage()); return null;
+        case "eth_estimate_gas":
+        case "ETH_ESTIMATE_GAS": target.ethEstimateGas(exchange.getMessage()); return null;
+        case "eth_get_transaction_by_block_number_and_index":
+        case "ETH_GET_TRANSACTION_BY_BLOCK_NUMBER_AND_INDEX": target.ethGetTransactionByBlockNumberAndIndex(exchange.getMessage()); return null;
+        case "eth_new_pending_transaction_filter":
+        case "ETH_NEW_PENDING_TRANSACTION_FILTER": target.ethNewPendingTransactionFilter(exchange.getMessage()); return null;
+        case "shh_new_identity":
+        case "SHH_NEW_IDENTITY": target.shhNewIdentity(exchange.getMessage()); return null;
+        case "eth_submit_hashrate":
+        case "ETH_SUBMIT_HASHRATE": target.ethSubmitHashrate(exchange.getMessage()); return null;
         case "eth_get_block_transaction_count_by_number":
         case "ETH_GET_BLOCK_TRANSACTION_COUNT_BY_NUMBER": target.ethGetBlockTransactionCountByNumber(exchange.getMessage()); return null;
-        case "eth_compile_solidity":
-        case "ETH_COMPILE_SOLIDITY": target.ethCompileSolidity(exchange.getMessage()); return null;
+        case "eth_send_transaction":
+        case "ETH_SEND_TRANSACTION": target.ethSendTransaction(exchange.getMessage()); return null;
         case "db_put_hex":
         case "DB_PUT_HEX": target.dbPutHex(exchange.getMessage()); return null;
-        case "eth_get_code":
-        case "ETH_GET_CODE": target.ethGetCode(exchange.getMessage()); return null;
+        case "eth_get_block_by_number":
+        case "ETH_GET_BLOCK_BY_NUMBER": target.ethGetBlockByNumber(exchange.getMessage()); return null;
+        case "shh_get_filter_changes":
+        case "SHH_GET_FILTER_CHANGES": target.shhGetFilterChanges(exchange.getMessage()); return null;
+        case "web3_sha3":
+        case "WEB3_SHA3": target.web3Sha3(exchange.getMessage()); return null;
+        case "eth_compile_solidity":
+        case "ETH_COMPILE_SOLIDITY": target.ethCompileSolidity(exchange.getMessage()); return null;
+        case "quorum_vote":
+        case "QUORUM_VOTE": target.quorumVote(exchange.getMessage()); return null;
+        case "eth_get_transaction_receipt":
+        case "ETH_GET_TRANSACTION_RECEIPT": target.ethGetTransactionReceipt(exchange.getMessage()); return null;
         case "shh_version":
         case "SHH_VERSION": target.shhVersion(exchange.getMessage()); return null;
-        case "net_peer_count":
-        case "NET_PEER_COUNT": target.netPeerCount(exchange.getMessage()); return null;
-        case "quorum_node_info":
-        case "QUORUM_NODE_INFO": target.quorumNodeInfo(exchange.getMessage()); return null;
-        case "quorum_eth_send_transaction":
-        case "QUORUM_ETH_SEND_TRANSACTION": target.quorumEthSendTransaction(exchange.getMessage()); return null;
-        case "eth_call":
-        case "ETH_CALL": target.ethCall(exchange.getMessage()); return null;
-        case "quorum_get_private_payload":
-        case "QUORUM_GET_PRIVATE_PAYLOAD": target.quorumGetPrivatePayload(exchange.getMessage()); return null;
-        case "ethprotocolversion":
-        case "ethProtocolVersion": target.ethProtocolVersion(exchange.getMessage()); return null;
+        case "eth_get_balance":
+        case "ETH_GET_BALANCE": target.ethGetBalance(exchange.getMessage()); return null;
+        case "eth_get_block_transaction_count_by_hash":
+        case "ETH_GET_BLOCK_TRANSACTION_COUNT_BY_HASH": target.ethGetBlockTransactionCountByHash(exchange.getMessage()); return null;
+        case "eth_syncing":
+        case "ETH_SYNCING": target.ethSyncing(exchange.getMessage()); return null;
+        case "eth_new_filter":
+        case "ETH_NEW_FILTER": target.ethNewFilter(exchange.getMessage()); return null;
+        case "web3_client_version":
+        case "WEB3_CLIENT_VERSION": target.web3ClientVersion(exchange.getMessage()); return null;
         case "eth_get_work":
         case "ETH_GET_WORK": target.ethGetWork(exchange.getMessage()); return null;
-        case "db_get_hex":
-        case "DB_GET_HEX": target.dbGetHex(exchange.getMessage()); return null;
-        case "shh_new_group":
-        case "SHH_NEW_GROUP": target.shhNewGroup(exchange.getMessage()); return null;
-        case "web3_sha3":
-        case "WEB3_SHA3": target.web3Sha3(exchange.getMessage()); return null;
-        case "eth_get_compilers":
-        case "ETH_GET_COMPILERS": target.ethGetCompilers(exchange.getMessage()); return null;
+        case "eth_get_filter_changes":
+        case "ETH_GET_FILTER_CHANGES": target.ethGetFilterChanges(exchange.getMessage()); return null;
+        case "eth_compile_lll":
+        case "ETH_COMPILE_LLL": target.ethCompileLLL(exchange.getMessage()); return null;
+        case "db_put_string":
+        case "DB_PUT_STRING": target.dbPutString(exchange.getMessage()); return null;
         case "eth_get_uncle_by_block_hash_and_index":
         case "ETH_GET_UNCLE_BY_BLOCK_HASH_AND_INDEX": target.ethGetUncleByBlockHashAndIndex(exchange.getMessage()); return null;
-        case "eth_get_block_by_hash":
-        case "ETH_GET_BLOCK_BY_HASH": target.ethGetBlockByHash(exchange.getMessage()); return null;
-        case "quorum_resume_block_maker":
-        case "QUORUM_RESUME_BLOCK_MAKER": target.quorumResumeBlockMaker(exchange.getMessage()); return null;
-        case "eth_get_transaction_count":
-        case "ETH_GET_TRANSACTION_COUNT": target.ethGetTransactionCount(exchange.getMessage()); return null;
-        case "shh_new_identity":
-        case "SHH_NEW_IDENTITY": target.shhNewIdentity(exchange.getMessage()); return null;
-        case "quorum_canonical_hash":
-        case "QUORUM_CANONICAL_HASH": target.quorumCanonicalHash(exchange.getMessage()); return null;
+        case "eth_call":
+        case "ETH_CALL": target.ethCall(exchange.getMessage()); return null;
+        case "shh_new_filter":
+        case "SHH_NEW_FILTER": target.shhNewFilter(exchange.getMessage()); return null;
+        case "db_get_string":
+        case "DB_GET_STRING": target.dbGetString(exchange.getMessage()); return null;
+        case "eth_gas_price":
+        case "ETH_GAS_PRICE": target.ethGasPrice(exchange.getMessage()); return null;
+        case "quorum_is_voter":
+        case "QUORUM_IS_VOTER": target.quorumIsVoter(exchange.getMessage()); return null;
+        case "eth_sign":
+        case "ETH_SIGN": target.ethSign(exchange.getMessage()); return null;
+        case "eth_accounts":
+        case "ETH_ACCOUNTS": target.ethAccounts(exchange.getMessage()); return null;
+        case "eth_get_transaction_by_block_hash_and_index":
+        case "ETH_GET_TRANSACTION_BY_BLOCK_HASH_AND_INDEX": target.ethGetTransactionByBlockHashAndIndex(exchange.getMessage()); return null;
         case "shh_uninstall_filter":
         case "SHH_UNINSTALL_FILTER": target.shhUninstallFilter(exchange.getMessage()); return null;
+        case "eth_get_storage_at":
+        case "ETH_GET_STORAGE_AT": target.ethGetStorageAt(exchange.getMessage()); return null;
+        case "quorum_get_private_payload":
+        case "QUORUM_GET_PRIVATE_PAYLOAD": target.quorumGetPrivatePayload(exchange.getMessage()); return null;
         case "eth_mining":
         case "ETH_MINING": target.ethMining(exchange.getMessage()); return null;
-        case "eth_get_uncle_count_by_block_number":
-        case "ETH_GET_UNCLE_COUNT_BY_BLOCK_NUMBER": target.ethGetUncleCountByBlockNumber(exchange.getMessage()); return null;
-        case "db_put_string":
-        case "DB_PUT_STRING": target.dbPutString(exchange.getMessage()); return null;
-        case "eth_get_filter_logs":
-        case "ETH_GET_FILTER_LOGS": target.ethGetFilterLogs(exchange.getMessage()); return null;
+        case "quorum_make_block":
+        case "QUORUM_MAKE_BLOCK": target.quorumMakeBlock(exchange.getMessage()); return null;
         case "shh_post":
         case "SHH_POST": target.shhPost(exchange.getMessage()); return null;
-        case "net_version":
-        case "NET_VERSION": target.netVersion(exchange.getMessage()); return null;
-        case "eth_accounts":
-        case "ETH_ACCOUNTS": target.ethAccounts(exchange.getMessage()); return null;
-        case "eth_submit_work":
-        case "ETH_SUBMIT_WORK": target.ethSubmitWork(exchange.getMessage()); return null;
-        case "eth_get_transaction_by_block_hash_and_index":
-        case "ETH_GET_TRANSACTION_BY_BLOCK_HASH_AND_INDEX": target.ethGetTransactionByBlockHashAndIndex(exchange.getMessage()); return null;
-        case "eth_get_uncle_by_block_number_and_index":
-        case "ETH_GET_UNCLE_BY_BLOCK_NUMBER_AND_INDEX": target.ethGetUncleByBlockNumberAndIndex(exchange.getMessage()); return null;
-        case "eth_compile_serpent":
-        case "ETH_COMPILE_SERPENT": target.ethCompileSerpent(exchange.getMessage()); return null;
-        case "eth_get_uncle_count_by_block_hash":
-        case "ETH_GET_UNCLE_COUNT_BY_BLOCK_HASH": target.ethGetUncleCountByBlockHash(exchange.getMessage()); return null;
-        case "db_get_string":
-        case "DB_GET_STRING": target.dbGetString(exchange.getMessage()); return null;
-        case "eth_get_transaction_by_block_number_and_index":
-        case "ETH_GET_TRANSACTION_BY_BLOCK_NUMBER_AND_INDEX": target.ethGetTransactionByBlockNumberAndIndex(exchange.getMessage()); return null;
-        case "eth_coinbase":
-        case "ETH_COINBASE": target.ethCoinbase(exchange.getMessage()); return null;
-        case "shh_new_filter":
-        case "SHH_NEW_FILTER": target.shhNewFilter(exchange.getMessage()); return null;
-        case "eth_send_raw_transaction":
-        case "ETH_SEND_RAW_TRANSACTION": target.ethSendRawTransaction(exchange.getMessage()); return null;
-        case "quorum_vote":
-        case "QUORUM_VOTE": target.quorumVote(exchange.getMessage()); return null;
-        case "shh_get_messages":
-        case "SHH_GET_MESSAGES": target.shhGetMessages(exchange.getMessage()); return null;
+        case "eth_get_compilers":
+        case "ETH_GET_COMPILERS": target.ethGetCompilers(exchange.getMessage()); return null;
+        case "ethprotocolversion":
+        case "ethProtocolVersion": target.ethProtocolVersion(exchange.getMessage()); return null;
         default: return null;
         }
     }
diff --git a/components/camel-web3j/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.web3j.Web3jProducer b/components/camel-web3j/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.web3j.Web3jProducer
index 4b4e03b..87ad67e 100644
--- a/components/camel-web3j/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.web3j.Web3jProducer
+++ b/components/camel-web3j/src/generated/resources/META-INF/services/org/apache/camel/invoke-on-header/org.apache.camel.component.web3j.Web3jProducer
@@ -1,2 +1,2 @@
 # Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.web3j.Web3jProducer.Web3jProducerInvokeOnHeaderFactory
+class=org.apache.camel.component.web3j.Web3jProducerInvokeOnHeaderFactory
diff --git a/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java b/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
index 2c3332f..2e8555f 100644
--- a/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
+++ b/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
@@ -114,16 +114,6 @@ public class Web3jProducer extends HeaderSelectorProducer {
         return (Web3jEndpoint) super.getEndpoint();
     }
 
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        super.doStop();
-    }
-
     @InvokeOnHeader(Web3jConstants.WEB3_CLIENT_VERSION)
     void web3ClientVersion(Message message) throws IOException {
         Request<?, Web3ClientVersion> web3ClientVersionRequest = web3j.web3ClientVersion();
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/HeaderSelectorProducer.java b/core/camel-support/src/main/java/org/apache/camel/support/HeaderSelectorProducer.java
index 1aa2b49..0e83ef4 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/HeaderSelectorProducer.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/HeaderSelectorProducer.java
@@ -142,7 +142,7 @@ public abstract class HeaderSelectorProducer extends DefaultAsyncProducer implem
         super.doBuild();
 
         String key = this.getClass().getName();
-        String fqn = RESOURCE_PATH + "/" + key;
+        String fqn = RESOURCE_PATH + key;
         strategy = camelContext.adapt(ExtendedCamelContext.class).getBootstrapFactoryFinder(RESOURCE_PATH)
                 .newInstance(key, InvokeOnHeaderStrategy.class)
                 .orElseThrow(() -> new IllegalArgumentException("Cannot find " + fqn + " in classpath."));
@@ -162,7 +162,7 @@ public abstract class HeaderSelectorProducer extends DefaultAsyncProducer implem
             }
 
             LOGGER.debug("Invoking @InvokeOnHeader method: {}", action);
-            Object answer = strategy.invoke(this, action, exchange, callback);
+            Object answer = strategy.invoke(target, action, exchange, callback);
             LOGGER.trace("Invoked @InvokeOnHeader method: {} -> {}", action, answer);
 
             if (answer == null) {
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateInvokeOnHeaderMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateInvokeOnHeaderMojo.java
index e96871b..821acdf 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateInvokeOnHeaderMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateInvokeOnHeaderMojo.java
@@ -171,10 +171,9 @@ public class GenerateInvokeOnHeaderMojo extends AbstractGeneratorMojo {
         String cn = fqn.substring(pos + 1) + "InvokeOnHeaderFactory";
         String en = fqn;
         String pfqn = fqn;
-        String psn = "org.apache.camel.support.component.InvokeOnHeaderSupport";
 
         StringWriter sw = new StringWriter();
-        generateInvokeOnHeaderSource(pn, cn, en, pfqn, psn, sw, models);
+        generateInvokeOnHeaderSource(pn, cn, en, pfqn, sw, models);
 
         String source = sw.toString();
 
@@ -184,11 +183,11 @@ public class GenerateInvokeOnHeaderMojo extends AbstractGeneratorMojo {
         if (updated) {
             getLog().info("Updated " + fileName);
         }
-        return pfqn + "." + cn;
+        return pn + "." + cn;
     }
 
     private void generateInvokeOnHeaderSource(
-            String pn, String cn, String en, String pfqn, String psn, StringWriter w, Set<InvokeOnHeaderModel> models) {
+            String pn, String cn, String en, String pfqn, StringWriter w, Set<InvokeOnHeaderModel> models) {
         w.write("/* " + AbstractGeneratorMojo.GENERATED_MSG + " */\n");
         w.write("package " + pn + ";\n");
         w.write("\n");