Skip to content

Commit 0a14e97

Browse files
committed
Add error message
1 parent b1d512b commit 0a14e97

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/fileconfig/DeclarativeConfigContext.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,19 @@ <T> T loadComponent(Class<T> type, String name, Object model) {
114114
ComponentProvider provider = matchedProviders.get(0);
115115

116116
try {
117-
return (T) provider.create(config);
117+
Object component = provider.create(config);
118+
if (component != null && !type.isInstance(component)) {
119+
throw new DeclarativeConfigException(
120+
"Error configuring "
121+
+ type.getName()
122+
+ " with name \""
123+
+ name
124+
+ "\". Component provider "
125+
+ provider.getClass().getName()
126+
+ " returned an unexpected component type: "
127+
+ component.getClass().getName());
128+
}
129+
return (T) component;
118130
} catch (Throwable throwable) {
119131
throw new DeclarativeConfigException(
120132
"Error configuring " + type.getName() + " with name \"" + name + "\"", throwable);

0 commit comments

Comments
 (0)