114 lines
4.2 KiB
Diff
114 lines
4.2 KiB
Diff
From 191724a9eb132d232f8ab081658aa40ea1eb2778 Mon Sep 17 00:00:00 2001
|
|
Subject: [PATCH] OWB-1309 fix missing NoSuchMethodException
|
|
|
|
---
|
|
pom.xml | 2 +-
|
|
.../web/tomcat7/TomcatInstanceManager.java | 53 ++++++++++++++-----
|
|
2 files changed, 40 insertions(+), 15 deletions(-)
|
|
|
|
diff --git a/pom.xml b/pom.xml
|
|
index ba45ccc..316f27e 100644
|
|
--- a/pom.xml
|
|
+++ b/pom.xml
|
|
@@ -78,7 +78,7 @@
|
|
<geronimo_interceptor.version>1.0</geronimo_interceptor.version>
|
|
<geronimo_validation.version>1.1</geronimo_validation.version>
|
|
<tomcat6.version>6.0.35</tomcat6.version>
|
|
- <tomcat7.version>7.0.54</tomcat7.version>
|
|
+ <tomcat7.version>7.0.99</tomcat7.version>
|
|
<openejb.version>3.1.4</openejb.version>
|
|
<myfaces.version>1.2.9</myfaces.version>
|
|
<myfaces2.version>2.2.3</myfaces2.version>
|
|
diff --git a/webbeans-tomcat7/src/main/java/org/apache/webbeans/web/tomcat7/TomcatInstanceManager.java b/webbeans-tomcat7/src/main/java/org/apache/webbeans/web/tomcat7/TomcatInstanceManager.java
|
|
index eb127e6..d271d4e 100644
|
|
--- a/webbeans-tomcat7/src/main/java/org/apache/webbeans/web/tomcat7/TomcatInstanceManager.java
|
|
+++ b/webbeans-tomcat7/src/main/java/org/apache/webbeans/web/tomcat7/TomcatInstanceManager.java
|
|
@@ -27,6 +27,7 @@ import javax.naming.NamingException;
|
|
import org.apache.juli.logging.Log;
|
|
import org.apache.juli.logging.LogFactory;
|
|
import org.apache.tomcat.InstanceManager;
|
|
+import org.apache.webbeans.util.ExceptionUtil;
|
|
|
|
public class TomcatInstanceManager implements InstanceManager
|
|
{
|
|
@@ -70,24 +71,40 @@ public class TomcatInstanceManager implements InstanceManager
|
|
public Object newInstance(Class<?> aClass) throws IllegalAccessException, InvocationTargetException, NamingException, InstantiationException
|
|
{
|
|
// Creates a defaut instance
|
|
- Object object = this.processor.newInstance(aClass);
|
|
+ try
|
|
+ {
|
|
+ Object object = this.processor.newInstance(aClass);
|
|
|
|
- // Inject dependencies
|
|
- inject(object);
|
|
+ // Inject dependencies
|
|
+ inject(object);
|
|
|
|
- return object;
|
|
+ return object;
|
|
+ }
|
|
+ catch (Exception e)
|
|
+ {
|
|
+ // sadly this is required as the Tomcat InstanceManager introduced an additional Exception in their signature :(
|
|
+ throw ExceptionUtil.throwAsRuntimeException(e);
|
|
+ }
|
|
}
|
|
|
|
@Override
|
|
public Object newInstance(String str) throws IllegalAccessException, InvocationTargetException, NamingException, InstantiationException, ClassNotFoundException
|
|
{
|
|
- // Creates a defaut instance
|
|
- Object object = this.processor.newInstance(str);
|
|
+ try
|
|
+ {
|
|
+ // Creates a defaut instance
|
|
+ Object object = this.processor.newInstance(str);
|
|
|
|
- // Inject dependencies
|
|
- inject(object);
|
|
+ // Inject dependencies
|
|
+ inject(object);
|
|
|
|
- return object;
|
|
+ return object;
|
|
+ }
|
|
+ catch (Exception e)
|
|
+ {
|
|
+ // sadly this is required as the Tomcat InstanceManager introduced an additional Exception in their signature :(
|
|
+ throw ExceptionUtil.throwAsRuntimeException(e);
|
|
+ }
|
|
}
|
|
|
|
@Override
|
|
@@ -100,13 +117,21 @@ public class TomcatInstanceManager implements InstanceManager
|
|
@Override
|
|
public Object newInstance(String str, ClassLoader cl) throws IllegalAccessException, InvocationTargetException, NamingException, InstantiationException, ClassNotFoundException
|
|
{
|
|
- // Creates a defaut instance
|
|
- Object object = this.processor.newInstance(str, cl);
|
|
+ try
|
|
+ {
|
|
+ // Creates a defaut instance
|
|
+ Object object = this.processor.newInstance(str, cl);
|
|
|
|
- // Inject dependencies
|
|
- inject(object);
|
|
+ // Inject dependencies
|
|
+ inject(object);
|
|
|
|
- return object;
|
|
+ return object;
|
|
+ }
|
|
+ catch (Exception e)
|
|
+ {
|
|
+ // sadly this is required as the Tomcat InstanceManager introduced an additional Exception in their signature :(
|
|
+ throw ExceptionUtil.throwAsRuntimeException(e);
|
|
+ }
|
|
}
|
|
|
|
private void inject(Object object)
|
|
--
|
|
2.23.0
|
|
|