In previous versions of JBoss EAP 6 there was an issue when using a resource adapter that had properties which used primitive data types as arguments.
This issue would cause the resource adapter to fail to deploy, with the log file containing messages relating to the attributes of the resource adapter not being set.
In this version of JBoss EAP 6, this issue has been fixed by using data type introspection to check the attributes, including primitive data types.
Resource adapters should no longer fail to deploy as a result of having primitive data types as arguments.
org.jboss.as.connector.util.Injection.java:159
protected Method findMethod(Class<?> clz, String methodName, String propertyType) {
while (!clz.equals(Object.class)) {
List<Method> hits = null;
Method[] methods = clz.getDeclaredMethods();
for (int i = 0; i < methods.length; i++) {
Method method = methods[i];
if (methodName.equals(method.getName()) && method.getParameterTypes().length == 1) {
if (propertyType == null || propertyType.equals(method.getParameterTypes()[0].getName())) {
the above is not taking primitives into account.
Example, the IBM IMS connector ims1132.rar has:
<config-property>
<config-property-name>enableHASupport</config-property-name>
<config-property-type>java.lang.Boolean</config-property-type>
<config-property-value>true</config-property-value>
</config-property>
and the method:
public void setEnableHASupport(boolean isHAEnabled)
Our "FindMethod" will find this method but will fail to select it as it compares "java.lang.Boolean" with "boolean"
org.jboss.as.connector.util.Injection.java:159 protected Method findMethod(Class<?> clz, String methodName, String propertyType) { while (!clz.equals(Object.class)) { List<Method> hits = null; Method[] methods = clz.getDeclaredMethods(); for (int i = 0; i < methods.length; i++) { Method method = methods[i]; if (methodName.equals(method.getName()) && method.getParameterTypes().length == 1) { if (propertyType == null || propertyType.equals(method.getParameterTypes()[0].getName())) { the above is not taking primitives into account. Example, the IBM IMS connector ims1132.rar has: <config-property> <config-property-name>enableHASupport</config-property-name> <config-property-type>java.lang.Boolean</config-property-type> <config-property-value>true</config-property-value> </config-property> and the method: public void setEnableHASupport(boolean isHAEnabled) Our "FindMethod" will find this method but will fail to select it as it compares "java.lang.Boolean" with "boolean"