-
Bug
-
Resolution: Won't Do
-
Major
-
camel-k-1.6.6
-
None
-
False
-
-
False
-
Todo
I want to bind the jms-ibm-mq-sink kamelet to a channel
The jms-ibm-mq-sink has following parameters:
{
"channel": {
"description": "Name of the IBM MQ Channel",
"title": "IBM MQ Channel",
"type": "string"
},
"clientId": {
"description": "Name of the IBM MQ Client ID",
"title": "IBM MQ Client ID",
"type": "string"
},
"destinationName": {
"description": "The destination name",
"title": "Destination Name",
"type": "string"
},
"destinationType": {
"default": "queue",
"description": "The JMS destination type (queue or topic)",
"title": "Destination Type",
"type": "string"
},
"password": {
"description": "Password to authenticate to IBM MQ server",
"format": "password",
"title": "Password",
"type": "string",
"x-descriptors": [
"urn:alm:descriptor:com.tectonic.ui:password",
"urn:camel:group:credentials"
]
},
"queueManager": {
"description": "Name of the IBM MQ Queue Manager",
"title": "IBM MQ Queue Manager",
"type": "string"
},
"serverName": {
"description": "IBM MQ Server name or address",
"title": "IBM MQ Server name",
"type": "string"
},
"serverPort": {
"default": 1414,
"description": "IBM MQ Server port",
"title": "IBM MQ Server Port",
"type": "integer"
},
"username": {
"description": "Username to authenticate to IBM MQ server",
"title": "Username",
"type": "string"
}
}
where destinationType has a default value "queue" and serverPort has a default value 1414.
When I use kamel bind without those two parameters (as I expect the default values will be used), it fails with:
kamel bind channel:mychannel jms-ibm-mq-sink -p "sink.serverName=ibm-mq-server" -p "sink.destinationName=DEV.QUEUE.1" -p "sink.queueManager=QM1" -p "sink.channel=DEV.APP.SRVCONN" -p "sink.username=app" -p "sink.password=ibmmqpasswd" Error: binding is missing required property "serverPort" for Kamelet "jms-ibm-mq-sink"
So I supply also the serverPort (the destinationType is still missing):
kamel bind channel:mychannel jms-ibm-mq-sink -p "sink.serverName=ibm-mq-server" -p "sink.destinationName=DEV.QUEUE.1" -p "sink.queueManager=QM1" -p "sink.channel=DEV.APP.SRVCONN" -p "sink.username=app" -p "sink.password=ibmmqpasswd" -p "sink.serverPort=1414" kamelet binding "mychannel-to-jms-ibm-mq-sink" created
From the user's POV it seems strange that the default value works for one parameter and doesn't work for other (maybe because one is a string and one an int? or something else?)