[jboss-cvs] JBossAS SVN: r108594 - projects/ejb3/trunk/core/src/main/java/org/jboss/injection.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Oct 15 03:41:26 EDT 2010
Author: richard.opalka at jboss.com
Date: 2010-10-15 03:41:26 -0400 (Fri, 15 Oct 2010)
New Revision: 108594
Modified:
projects/ejb3/trunk/core/src/main/java/org/jboss/injection/WebServiceRefHandler.java
Log:
EJBTHREE-2163 workaround IllegalStateException
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/injection/WebServiceRefHandler.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/injection/WebServiceRefHandler.java 2010-10-15 05:15:40 UTC (rev 108593)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/injection/WebServiceRefHandler.java 2010-10-15 07:41:26 UTC (rev 108594)
@@ -59,16 +59,27 @@
log.debug("service-ref: " + sref);
if (srefMap.get(sref.getServiceRefName()) != null)
throw new IllegalStateException ("Duplicate <service-ref-name> in " + sref);
-
+
srefMap.put(sref.getServiceRefName(), sref);
String encName = "env/" + sref.getServiceRefName();
// create an EncInjector
- if (!container.getEncInjectors().containsKey(encName))
+ Map<String, EncInjector> encInjectors = null;
+ try
{
- container.getEncInjectors().put(encName, new ServiceRefInjector(encName, sref));
+ encInjectors = container.getEncInjectors();
}
-
+ catch (IllegalStateException e)
+ {
+ // I didn't find the way in the EJB API how to detect if container is
+ // client side container or server side container.
+ // Client side container throws IllegalStateException when getEncInjectors() method is called.
+ }
+ if (encInjectors != null && !encInjectors.containsKey(encName))
+ {
+ encInjectors.put(encName, new ServiceRefInjector(encName, sref));
+ }
+
AnnotatedElement annotatedElement = sref.getAnnotatedElement();
if(annotatedElement == null)
{
More information about the jboss-cvs-commits
mailing list