The problem The configuration for MDB activation properties allow any key/value to be specified. At present on the 1.7.x branch, the server will fail to deploy the application if the activation property is not present on the activation spec class.
This becomes painful in a scenario where more than one JMS resource adapter/MDB container is used, and you wish to configure the activation properties of multiple MDBs in one go using the `mdb.activation.` system property.. Right now,if an activation property is used that one provider uses but other one does, the server will throw an exception. For example, given these parameters, - mdb.activation.ignore=foo - mdb.activation.ignore2=bar if ‘ignore’ and ‘ignore2’ are not present on an MDB’s activation spec class, the following exception will be thrown. Caused by: org.apache.openejb.OpenEJBException: Error deploying 'Listener'. Exception: class org.apache.openejb.OpenEJBException: Unable to create activation spec: No setter found for the activation spec properties: [ignore, ignore2]: Unable to create activation spec: No setter found for the activation spec properties: [ignore, ignore2] at org.apache.openejb.assembler.classic.Assembler.startEjbs(Assembler.java:1430) at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:796) ... 19 more Caused by: org.apache.openejb.OpenEJBException: Unable to create activation spec: No setter found for the activation spec properties: [ignore, ignore2] at org.apache.openejb.core.mdb.MdbContainer.createActivationSpec(MdbContainer.java:292) at org.apache.openejb.core.mdb.MdbContainer.deploy(MdbContainer.java:159) at org.apache.openejb.assembler.classic.Assembler.startEjbs(Assembler.java:1417) ... 20 more Caused by: java.lang.IllegalArgumentException: No setter found for the activation spec properties: [ignore, ignore2] at org.apache.openejb.core.mdb.MdbContainer.createActivationSpec(MdbContainer.java:262) ... 22 more The solution The best solution to solve the communication among server is to put a new configuration property in TomEE. When this setting is enabled, overriding the FailOnUnknownActivationSpec attribute at org.apache.openejb.core.mdb.MdbContainer class., that will be disabled by default to don't break the compatibility, when the setter does not exist it put a log and then keep working. Basically, my proposal does a backport to 1.7 branch: https://github.com/apache/tomee/commit/6522f349d0c31d6ec82e66378e0e55eded08aec0 Path: https://patch-diff.githubusercontent.com/raw/apache/tomee/pull/86.diff