You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by da...@apache.org on 2007/04/25 22:28:05 UTC
svn commit: r532470 -
/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java
Author: dain
Date: Wed Apr 25 13:28:04 2007
New Revision: 532470
URL: http://svn.apache.org/viewvc?view=rev&rev=532470
Log:
make destination and destinationType optional activation spec attributes
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java?view=diff&rev=532470&r1=532469&r2=532470
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java Wed Apr 25 13:28:04 2007
@@ -49,6 +49,8 @@
import java.util.List;
import java.util.Map;
import java.util.Arrays;
+import java.util.TreeSet;
+import java.util.Set;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ConcurrentHashMap;
@@ -131,6 +133,7 @@
try {
// initialize the object recipe
ObjectRecipe objectRecipe = new ObjectRecipe(activationSpecClass);
+ objectRecipe.allow(Option.IGNORE_MISSING_PROPERTIES);
objectRecipe.disallow(Option.FIELD_INJECTION);
Map<String, String> activationProperties = deploymentInfo.getActivationProperties();
@@ -140,6 +143,15 @@
// create the activationSpec
ActivationSpec activationSpec = (ActivationSpec) objectRecipe.create(deploymentInfo.getClassLoader());
+
+ // verify all properties except "destination" and "destinationType" were consumed
+ Set<String> unusedProperties = new TreeSet<String>(objectRecipe.getUnsetProperties().keySet());
+ unusedProperties.remove("destination");
+ unusedProperties.remove("destinationType");
+ if (!unusedProperties.isEmpty()) {
+ throw new IllegalArgumentException("No setter found for the activation spec properties: " + unusedProperties);
+ }
+
// validate the activation spec
try {