Вы можете создать экземпляр класса только с помощью конструктора по умолчанию без аргументов. Но вы можете использовать свойства bean для заданных полей класса.
Bean
<bean class="org.my.pack.SomeClass" factor:bean-type="DEFAULT"
id="SomeClass" name="SomeClass">
<property name="param1" value="Value1"/>
<property name="param2" value="Value2"/>
</bean>
Class
package org.my.pack;
public class SomeClass {
public String param1;
public String param2;
public String getParam1() {
return param1;
}
public void setParam1(String param1) {
this.param1 = param1;
}
public String getParam2() {
return param2;
}
public void setParam2(String param2) {
this.param2 = param2;
}
public String doSomething() {
return "Param1 - " + param1 + " Param2 - " + param2;
}
public static void main(String[] args) {
}
}
Или вы также можете использовать аннотации для параметров метода и принимать значения из например, заголовки (https://camel.apache.org/manual/latest/parameter-binding-annotations.html)
public String doSomething(@Header("param1") String param1, @Header("param2") String param2) {
return "Param1 - " + param1 + " Param2 - " + param2;
}