Charles Moulliard created CAMEL-8185:
----------------------------------------
Summary: IllegalArgumentException: argument type mismatch
Key: CAMEL-8185
URL: https://issues.apache.org/jira/browse/CAMEL-8185
Project: Camel
Issue Type: Bug
Components: camel-scr
Affects Versions: 2.15.0
Reporter: Charles Moulliard
When camel-scr (2.15-SNAPSHOT) is deployed and used with Apache Karaf -
2.3.0.redhat-611412
The following errors are generated when SCR got the CamelComponent
{code}
2014-12-26 11:13:49,453 | ERROR | r-1.0.0-thread-2 | osgi-camel-scr
| ? ? | 255 -
com.redhat.gpe.training.osgi-camel-scr - 1.0.0 |
[com.redhat.gpe.training.osgi.camel.BootStrap(52)] The gotCamelComponent method
has thrown an exception
java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)[:1.7.0_51]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_51]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_51]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_51]
at
org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:231)[82:org.apache.felix.scr:1.8.0.redhat-611412]
at
org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:39)[82:org.apache.felix.scr:1.8.0.redhat-611412]
{code}
Here is the code used as example :
{code}
import org.apache.camel.CamelContext;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.scr.AbstractCamelRunner;
import org.apache.camel.spi.ComponentResolver;
import org.apache.felix.scr.annotations.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
@Component(label = BootStrap.COMPONENT_LABEL, description =
BootStrap.COMPONENT_DESCRIPTION)
@Properties({
@Property(name = "camelContextId", value = "camel-scr-exercise"),
@Property(name = "active", value = "true")
})
@References({
@Reference(name = "camelComponent",referenceInterface =
ComponentResolver.class,
cardinality = ReferenceCardinality.MANDATORY_MULTIPLE, policy =
ReferencePolicy.DYNAMIC,
policyOption = ReferencePolicyOption.GREEDY, bind =
"gotCamelComponent", unbind = "lostCamelComponent")
})
public class BootStrap extends AbstractCamelRunner {
public static final String COMPONENT_LABEL = "bootstrap.CamelScrExercise";
public static final String COMPONENT_DESCRIPTION = "This is the description
for camel-scr-exercise.";
public static final Logger LOGGER =
LoggerFactory.getLogger(BootStrap.class);
@Override
protected List<RoutesBuilder> getRouteBuilders() {
LOGGER.info("Load Camel Routes definition");
List<RoutesBuilder> routesBuilders = new ArrayList<>();
routesBuilders.add(new GreeterRoute());
return routesBuilders;
}
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)