本文整理汇总了Java中org.apache.camel.spi.Injector类的典型用法代码示例。如果您正苦于以下问题:Java Injector类的具体用法?Java Injector怎么用?Java Injector使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Injector类属于org.apache.camel.spi包,在下文中一共展示了Injector类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: resolveComponent
import org.apache.camel.spi.Injector; //导入依赖的package包/类
private ComponentProxyComponent resolveComponent(CamelContext context, Connector step) {
ComponentProxyFactory factory = ComponentProxyComponent::new;
if (step.getFactory() != null ) {
final ClassResolver resolver = context.getClassResolver();
final Injector injector = context.getInjector();
Class<? extends ComponentProxyFactory> type = resolver.resolveClass(step.getFactory(), ComponentProxyFactory.class);
if (type == null) {
throw new IllegalArgumentException("Unable to resolve a ComponentProxyFactory of type: " + step.getFactory());
}
factory = injector.newInstance(type);
if (factory == null) {
throw new IllegalArgumentException("Unable to instantiate a ComponentProxyFactory of type: " + step.getFactory());
}
}
return factory.newInstance(step.getComponentId(), step.getComponentScheme());
}
开发者ID:syndesisio,项目名称:syndesis,代码行数:21,代码来源:ConnectorHandler.java
示例2: BaseTypeConverterRegistry
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public BaseTypeConverterRegistry(PackageScanClassResolver resolver, Injector injector, FactoryFinder factoryFinder) {
this.resolver = resolver;
this.injector = injector;
this.factoryFinder = factoryFinder;
this.typeConverterLoaders.add(new AnnotationTypeConverterLoader(resolver));
// add to string first as it will then be last in the last as to string can nearly
// always convert something to a string so we want it only as the last resort
// ToStringTypeConverter should NOT allow to be promoted
addFallbackTypeConverter(new ToStringTypeConverter(), false);
// enum is okay to be promoted
addFallbackTypeConverter(new EnumTypeConverter(), true);
// arrays is okay to be promoted
addFallbackTypeConverter(new ArrayTypeConverter(), true);
// and future should also not allowed to be promoted
addFallbackTypeConverter(new FutureTypeConverter(this), false);
// add sync processor to async processor converter is to be promoted
addFallbackTypeConverter(new AsyncProcessorTypeConverter(), true);
}
开发者ID:HydAu,项目名称:Camel,代码行数:20,代码来源:BaseTypeConverterRegistry.java
示例3: newInstance
import org.apache.camel.spi.Injector; //导入依赖的package包/类
private <T> T newInstance(String key, Injector injector, String propertyPrefix, Class<T> expectedType)
throws IOException, ClassNotFoundException {
Class<?> type = findClass(key, propertyPrefix);
Object value = injector.newInstance(type);
if (expectedType.isInstance(value)) {
return expectedType.cast(value);
} else {
throw new ClassCastException("Not instanceof " + expectedType.getName() + " value: " + value);
}
}
开发者ID:HydAu,项目名称:Camel,代码行数:11,代码来源:DefaultFactoryFinder.java
示例4: createInjector
import org.apache.camel.spi.Injector; //导入依赖的package包/类
/**
* Lazily create a default implementation
*/
protected Injector createInjector() {
FactoryFinder finder = getDefaultFactoryFinder();
try {
return (Injector) finder.newInstance("Injector");
} catch (NoFactoryAvailableException e) {
// lets use the default injector
return new DefaultInjector(this);
}
}
开发者ID:HydAu,项目名称:Camel,代码行数:13,代码来源:DefaultCamelContext.java
示例5: createInstance
import org.apache.camel.spi.Injector; //导入依赖的package包/类
@SuppressWarnings("unchecked")
protected T createInstance(String name, URL url, Injector injector) {
try {
Properties properties = loadProperties(url);
String classname = (String) properties.get("class");
Class<?> type = bundle.loadClass(classname);
if (!this.type.isAssignableFrom(type)) {
throw new IllegalArgumentException("Type is not a " + this.type.getName() + " implementation. Found: " + type.getName());
}
return injector.newInstance((Class<T>) type);
} catch (ClassNotFoundException e) {
throw new IllegalArgumentException("Invalid URI, no " + this.type.getName() + " registered for scheme : " + name, e);
}
}
开发者ID:HydAu,项目名称:Camel,代码行数:15,代码来源:Activator.java
示例6: testNewInstance
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public void testNewInstance() throws Exception {
Injector injector = context.getInjector();
MyFoo foo = injector.newInstance(MyFoo.class);
foo.setName("Claus");
MyFoo foo2 = injector.newInstance(MyFoo.class);
assertNotSame(foo, foo2);
assertEquals("Claus", foo.getName());
assertNull(foo2.getName());
}
开发者ID:HydAu,项目名称:Camel,代码行数:13,代码来源:InjectorDefaultsTest.java
示例7: testSharedInstance
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public void testSharedInstance() throws Exception {
Injector injector = context.getInjector();
MyBarSingleton bar = injector.newInstance(MyBarSingleton.class, new MyBarSingleton());
bar.setName("Claus");
MyBarSingleton bar2 = injector.newInstance(MyBarSingleton.class, bar);
assertSame(bar, bar2);
assertEquals("Claus", bar.getName());
assertEquals("Claus", bar2.getName());
}
开发者ID:HydAu,项目名称:Camel,代码行数:13,代码来源:InjectorDefaultsTest.java
示例8: OsgiTypeConverter
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public OsgiTypeConverter(BundleContext bundleContext, CamelContext camelContext, Injector injector, FactoryFinder factoryFinder) {
this.bundleContext = bundleContext;
this.camelContext = camelContext;
this.injector = injector;
this.factoryFinder = factoryFinder;
this.tracker = new ServiceTracker<TypeConverterLoader, Object>(bundleContext, TypeConverterLoader.class.getName(), this);
}
开发者ID:HydAu,项目名称:Camel,代码行数:8,代码来源:OsgiTypeConverter.java
示例9: createInjector
import org.apache.camel.spi.Injector; //导入依赖的package包/类
@Override
protected Injector createInjector() {
if (applicationContext instanceof ConfigurableApplicationContext) {
return new SpringInjector((ConfigurableApplicationContext)applicationContext);
} else {
LOG.warn("Cannot use SpringInjector as applicationContext is not a ConfigurableApplicationContext as its: "
+ applicationContext);
return super.createInjector();
}
}
开发者ID:HydAu,项目名称:Camel,代码行数:11,代码来源:SpringCamelContext.java
示例10: getInjector
import org.apache.camel.spi.Injector; //导入依赖的package包/类
@Override
public Injector getInjector() {
return injector;
}
开发者ID:HydAu,项目名称:Camel,代码行数:5,代码来源:BaseTypeConverterRegistry.java
示例11: setInjector
import org.apache.camel.spi.Injector; //导入依赖的package包/类
@Override
public void setInjector(Injector injector) {
this.injector = injector;
}
开发者ID:HydAu,项目名称:Camel,代码行数:5,代码来源:BaseTypeConverterRegistry.java
示例12: LazyLoadingTypeConverter
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public LazyLoadingTypeConverter(PackageScanClassResolver resolver, Injector injector, FactoryFinder factoryFinder) {
super(resolver, injector, factoryFinder);
}
开发者ID:HydAu,项目名称:Camel,代码行数:4,代码来源:LazyLoadingTypeConverter.java
示例13: DefaultTypeConverter
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public DefaultTypeConverter(PackageScanClassResolver resolver, Injector injector, FactoryFinder factoryFinder) {
super(resolver, injector, factoryFinder);
}
开发者ID:HydAu,项目名称:Camel,代码行数:4,代码来源:DefaultTypeConverter.java
示例14: newInstances
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public <T> List<T> newInstances(String key, Injector injector, Class<T> type) throws ClassNotFoundException, IOException {
List<Class<T>> list = CastUtils.cast(findClasses(key));
List<T> answer = new ArrayList<T>(list.size());
answer.add(newInstance(key, injector, type));
return answer;
}
开发者ID:HydAu,项目名称:Camel,代码行数:7,代码来源:DefaultFactoryFinder.java
示例15: getInjector
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public Injector getInjector() {
if (injector == null) {
injector = createInjector();
}
return injector;
}
开发者ID:HydAu,项目名称:Camel,代码行数:7,代码来源:DefaultCamelContext.java
示例16: setInjector
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public void setInjector(Injector injector) {
this.injector = injector;
}
开发者ID:HydAu,项目名称:Camel,代码行数:4,代码来源:DefaultCamelContext.java
示例17: testInjectorIsDefaultByDefault
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public void testInjectorIsDefaultByDefault() throws Exception {
Injector injector = context.getInjector();
assertIsInstanceOf(DefaultInjector.class, injector);
}
开发者ID:HydAu,项目名称:Camel,代码行数:5,代码来源:InjectorDefaultsTest.java
示例18: GuiceInjector
import org.apache.camel.spi.Injector; //导入依赖的package包/类
public GuiceInjector(com.google.inject.Injector injector) {
this.injector = injector;
}
开发者ID:HydAu,项目名称:Camel,代码行数:4,代码来源:GuiceInjector.java
示例19: GuiceCamelContext
import org.apache.camel.spi.Injector; //导入依赖的package包/类
@Inject
public GuiceCamelContext(com.google.inject.Injector injector) {
this.injector = injector;
}
开发者ID:HydAu,项目名称:Camel,代码行数:5,代码来源:GuiceCamelContext.java
示例20: setInjector
import org.apache.camel.spi.Injector; //导入依赖的package包/类
@Override
@Inject(optional = true)
public void setInjector(Injector injector) {
super.setInjector(injector);
}
开发者ID:HydAu,项目名称:Camel,代码行数:6,代码来源:GuiceCamelContext.java
注:本文中的org.apache.camel.spi.Injector类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论