You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Marco Carletti (Jira)" <ji...@apache.org> on 2026/07/06 07:26:00 UTC
[jira] [Created] (CAMEL-23914) camel-jbang export fails with TypeConversionException when kamelet has optional Long property
Marco Carletti created CAMEL-23914:
--------------------------------------
Summary: camel-jbang export fails with TypeConversionException when kamelet has optional Long property
Key: CAMEL-23914
URL: https://issues.apache.org/jira/browse/CAMEL-23914
Project: Camel
Issue Type: Bug
Components: camel-jbang
Affects Versions: 4.21.0
Reporter: Marco Carletti
When exporting an integration that uses a kamelet with an optional property of type Long (e.g. salesforce-source kamelet with replayId), the camel-launcher export fails with a {_}TypeConversionException{_}.
During export, unresolved optional properties ({_}{{?replayId}}{_}) are replaced with _@@CamelMagicValue@@_ by {_}ExportPropertiesParser{_}. The _ExportTypeConverter_ registered in _KameletMain.setupExport()_ should handle this placeholder, but in the
camel-launcher fat JAR the core _CamelBaseBulkConverterLoader_ overwrites it via _CoreTypeConverterRegistry.addConverter()_ — which does a raw _converters.put()_ bypassing the _TypeConverterExists.Override_ policy. The core converter then
attempts _Long.valueOf("@@CamelMagicValue@@")_ and throws {_}NumberFormatException{_}.
This does not happen with standalone camel-jbang because components are downloaded lazily and fewer _BulkTypeConverterLoader_ implementations are scanned at startup.
The fix is to handle _@@CamelMagicValue@@_ directly in _PropertyConfigurerSupport.property()_ for all primitive/wrapper types before calling {_}mandatoryConvertTo(){_}, returning type-safe defaults without relying on the type converter registry.
Reproducer:
{code:yaml}
# salesforce-minimal.yaml
- route:
from:
uri: 'kamelet:salesforce-source'
parameters:
password: 'password'
clientId: 'client'
loginUrl: 'https://login.salesforce.com'
query: 'query'
notifyForOperationCreate: true
topicName: 'topic'
clientSecret: 'secret'
userName: 'user'
steps:
- log: '${body}' {code}
{code:bash}
java -jar camel-launcher.jar export salesforce-minimal.yaml \
--runtime quarkus --gav com.test:example:1.0 --dir .
{code}
Stack trace:
{code:java}
Caused by: org.apache.camel.TypeConversionException: Error during type conversion
from type: java.lang.String to the required type: java.lang.Long
with value @@CamelMagicValue@@
due to java.lang.NumberFormatException: For input string: "@@CamelMagicValue@@"
{code}
Affects any kamelet with optional properties of type long, int, double, float, short, or byte.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)