Maybe I don't have all of the auto discovery setup correctly. The *META-INF/services/org/apache/camel/component/mina2 file looks like this:
class=org.apache.camel.component.mina2.Mina2Component My Mina2Component is very straight-forard and looks like this: public class Mina2Component extends DefaultComponent { private static final transient Logger LOG = LoggerFactory.getLogger(Mina2Component.class); private Mina2Configuration configuration; public Mina2Component() { } public Mina2Component(CamelContext context) { super(context); } @Override protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { // Using the configuration which set by the component as a default one // Since the configuration's properties will be set by the URI // we need to copy or create a new MinaConfiguration here Mina2Configuration config; if (configuration != null) { config = configuration.copy(); } else { config = new Mina2Configuration(); } URI u = new URI(remaining); config.setHost(u.getHost()); config.setPort(u.getPort()); config.setProtocol(u.getScheme()); config.setFilters(resolveAndRemoveReferenceListParameter(parameters, "filters", IoFilter.class)); setProperties(config, parameters); return createEndpoint(uri, config); } public Endpoint createEndpoint(Mina2Configuration config) throws Exception { return createEndpoint(null, config); } private Endpoint createEndpoint(String uri, Mina2Configuration config) throws Exception { ObjectHelper.notNull(getCamelContext(), "camelContext"); configuration = config; Endpoint epoint = null; String protocol = config.getProtocol(); // if mistyped uri then protocol can be null if (protocol != null) { if (protocol.equals("tcp") || config.isDatagramProtocol() || protocol.equals("vm")) { epoint = new Mina2Endpoint(uri, this); } else { // protocol not resolved so error throw new IllegalArgumentException("Unrecognised MINA protocol: " + protocol + " for uri: " + uri); } } return epoint; } // Properties //------------------------------------------------------------------------- public Mina2Configuration getConfiguration() { return configuration; } public void setConfiguration(Mina2Configuration configuration) { this.configuration = configuration; } } Now what? -Chad *On Sun, Oct 30, 2011 at 3:40 PM, Johan Edstrom <seij...@gmail.com> wrote: > Do you have all of the auto discovery files there correctly? > > http://camel.apache.org/writing-components.html > > /je > > On Oct 30, 2011, at 1:10 PM, Chad Beaulac wrote: > > > I'm working on a mina2 component. Unit tests that use the Java DSL pass. > > Unit tests that use the TemplateProducer fail with an error like: > > (From the Mina2ComponentTest.testMistypedProtocol) > > org.apache.camel.ResolveEndpointFailedException: Failed to resolve > > endpoint: mina2://tcp//localhost:8080 due to: No component found with > scheme: > > mina2 > > > > Java DSL with something like the route below work fine: > > from("mina2:udp://127.0.0.1:10111?sync=false&minaLogger=true > ").to("mock:result"); > > > > > > Maybe I'm suppose to add something to features.xml but I'm not sure what > > and I'm not sure if that's the issue. > > > > Any insight/help is very appreciated. > > > > Thanks, > > Chad > >