You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2011/10/19 11:17:05 UTC
svn commit: r1186043 -
/tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java
Author: markt
Date: Wed Oct 19 09:17:05 2011
New Revision: 1186043
URL: http://svn.apache.org/viewvc?rev=1186043&view=rev
Log:
Fix threading issue when setting accessibility
Modified:
tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java
Modified: tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java?rev=1186043&r1=1186042&r2=1186043&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java Wed Oct 19 09:17:05 2011
@@ -186,8 +186,8 @@ public class DefaultInstanceManager impl
for (AnnotationCacheEntry entry : annotations) {
if (entry.getType() == AnnotationCacheEntryType.POST_CONSTRUCT) {
Method postConstruct = (Method) entry.getAccessibleObject();
- boolean accessibility = postConstruct.isAccessible();
synchronized (postConstruct) {
+ boolean accessibility = postConstruct.isAccessible();
postConstruct.setAccessible(true);
postConstruct.invoke(instance);
postConstruct.setAccessible(accessibility);
@@ -230,8 +230,8 @@ public class DefaultInstanceManager impl
for (AnnotationCacheEntry entry : annotations) {
if (entry.getType() == AnnotationCacheEntryType.PRE_DESTROY) {
Method preDestroy = (Method) entry.getAccessibleObject();
- boolean accessibility = preDestroy.isAccessible();
synchronized (preDestroy) {
+ boolean accessibility = preDestroy.isAccessible();
preDestroy.setAccessible(true);
preDestroy.invoke(instance);
preDestroy.setAccessible(accessibility);
@@ -576,8 +576,8 @@ public class DefaultInstanceManager impl
context.lookup(clazz.getName() + "/" + field.getName());
}
- accessibility = field.isAccessible();
synchronized (field) {
+ accessibility = field.isAccessible();
field.setAccessible(true);
field.set(instance, lookedupResource);
field.setAccessible(accessibility);
@@ -620,8 +620,8 @@ public class DefaultInstanceManager impl
clazz.getName() + "/" + getName(method));
}
- accessibility = method.isAccessible();
synchronized (method) {
+ accessibility = method.isAccessible();
method.setAccessible(true);
method.invoke(instance, lookedupResource);
method.setAccessible(accessibility);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org