[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