Index: transaction/jta/src/main/java/com/sun/enterprise/transaction/JavaEETransactionImpl.java =================================================================== --- transaction/jta/src/main/java/com/sun/enterprise/transaction/JavaEETransactionImpl.java (revision 35343) +++ transaction/jta/src/main/java/com/sun/enterprise/transaction/JavaEETransactionImpl.java (working copy) @@ -269,7 +269,9 @@ synchronized void addResourceName(String resourceName) { if (resourceNames == null) resourceNames = new ArrayList(); - resourceNames.add(resourceName); + if( !resourceNames.contains(resourceName) ) { + resourceNames.add(resourceName); + } } synchronized ArrayList getResourceNames() { Index: transaction/jta/src/main/java/com/sun/enterprise/transaction/monitoring/TransactionServiceStatsProvider.java =================================================================== --- transaction/jta/src/main/java/com/sun/enterprise/transaction/monitoring/TransactionServiceStatsProvider.java (revision 35343) +++ transaction/jta/src/main/java/com/sun/enterprise/transaction/monitoring/TransactionServiceStatsProvider.java (working copy) @@ -162,8 +162,8 @@ List resourceList = txnBean.getResourceNames(); if (resourceList != null) { for (int k = 0; k < resourceList.size(); k++) { + if (k != 0) strBuf.append(","); strBuf.append(resourceList.get(k)); - strBuf.append(","); } } strBuf.append(LINE_BREAK);