This is an automated email from the ASF dual-hosted git repository.

rzo1 pushed a commit to branch xbean-4.30-SNAPSHOT
in repository https://gitbox.apache.org/repos/asf/tomee.git


The following commit(s) were added to refs/heads/xbean-4.30-SNAPSHOT by this 
push:
     new a62546d380 Set ctor arguments in ServiceManager
a62546d380 is described below

commit a62546d3802dac4321362f77b86eb31ec2b5e54c
Author: Richard Zowalla <[email protected]>
AuthorDate: Mon Jan 5 22:26:11 2026 +0100

    Set ctor arguments in ServiceManager
---
 .../src/main/java/org/apache/openejb/server/ServiceManager.java     | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git 
a/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
 
b/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
index b61394f3ea..51fe708364 100644
--- 
a/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
+++ 
b/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
@@ -42,6 +42,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Locale;
+import java.util.stream.Collectors;
 
 import static 
org.apache.openejb.util.PropertyPlaceHolderHelper.holdsWithUpdate;
 
@@ -146,6 +147,11 @@ public abstract class ServiceManager {
                             serviceClass, "createServerService", null, null, 
serviceProperties.stringPropertyNames(), 
Collections.singleton(Option.NAMED_PARAMETERS));
                     if (factory != null) {
                         
recipe.setConstructorArgNames(factory.getParameterNames()); // can throw an 
exception so call it before next line
+                        final List<Class<?>> argTypes = 
factory.getParameterTypes().stream()
+                                    .filter(t -> t instanceof Class<?>)
+                                    .map(t -> (Class<?>) t)
+                                    .collect(Collectors.toList());
+                        recipe.setConstructorArgTypes(argTypes);
                         recipe.setFactoryMethod("createServerService");
                     } else if (ReflectionUtil.findStaticFactory(serviceClass, 
"createServerService", null, null) != null) { // old behavior, remove when sure 
previous check is ok
                         recipe.setFactoryMethod("createServerService");

Reply via email to