[jboss-svn-commits] JBL Code SVN: r37817 - in labs/jbosstm/branches/JBOSSTS_4_16: ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/tools and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Dec 16 08:22:24 EST 2011
Author: mmusgrov
Date: 2011-12-16 08:22:23 -0500 (Fri, 16 Dec 2011)
New Revision: 37817
Modified:
labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/osb/mbean/ObjStoreBrowser.java
labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/tools/ObjStoreBrowserTest.java
labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/tools/ObjStoreBrowserTest.java
labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/tools/JTSObjStoreBrowserTest.java
labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/examples/classes/com/arjuna/jta/distributed/example/server/impl/ServerImpl.java
labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/tests/classes/com/arjuna/ats/jta/distributed/server/impl/ServerImpl.java
Log:
JBTM-1000 Fix broken OSB bean type bootstrapping
Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/osb/mbean/ObjStoreBrowser.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/osb/mbean/ObjStoreBrowser.java 2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/osb/mbean/ObjStoreBrowser.java 2011-12-16 13:22:23 UTC (rev 37817)
@@ -34,53 +34,6 @@
private Map<String, String> beanTypes = null; // defines which bean types are used to represent object store types
private Map<String, List<UidWrapper>> allUids;
- public static void main(String[] args) throws Exception {
- InputStreamReader isr = new InputStreamReader(System.in);
- BufferedReader br = new BufferedReader(isr);
- String logDir = System.getProperty("objectstore.dir");
- ObjStoreBrowser browser = new ObjStoreBrowser(logDir);
-
- browser.start();
-
- do {
- System.out.println("> "); System.out.flush();
- String[] req = br.readLine().split("\\s+");
-
- if (req.length == 0 || "quit".equals(req[0]))
- break;
-
- browser.probe();
-
- if ("dump".equals(req[0])) {
- if (req.length == 1) {
- System.out.println("Uid not found");
- } else {
- UidWrapper w = browser.findUid(req[1]);
-
- if (w != null)
- System.out.println("Attributes: " + w.toString("", new StringBuilder()));
- else
- System.out.println("Uid not found: " + req[1]);
- }
- } else if ("list".equals(req[0])) {
- System.out.println(browser.dump(new StringBuilder()));
- } //else if ("query".equals(req[0])) {
- // browser.queryTest();
- } while (true);
- }
-
- public static Properties loadProperties(String fname) {
- Properties properties = new Properties();
- URL url = ClassLoader.getSystemResource(fname);
- try {
- if (url != null)
- properties.load(url.openStream());
- } catch (IOException e) {
- }
-
- return properties;
- }
-
/**
* Initialise the MBean
*/
@@ -107,19 +60,48 @@
}
/**
+ * This method is deprecated in favour of @setType
+ * The issue with this method is there is no mechanism for determining which class
+ * is responsible for a given OS type.
+ *
* Define which object store types will registered as MBeans
* @param types the list of ObjectStore types that can be represented
* as MBeans
*/
+ @Deprecated
public void setTypes(Map<String, String> types) {
}
+ /**
+ * Tell the browser which beans to use for particular Object Store Action type
+ * @param osTypeClassName
+ * @param beanTypeClassName
+ * @return
+ */
+ public boolean setType(String osTypeClassName, String beanTypeClassName) {
+ String typeName = getOSType(osTypeClassName);
+
+ if (typeName != null) {
+
+ if (typeName.startsWith("/"))
+ typeName = typeName.substring(1);
+
+ stateTypes.put(typeName, osTypeClassName);
+ beanTypes.put(typeName, beanTypeClassName);
+
+ return true;
+ }
+
+ return false;
+ }
+
private void initTypeHandlers(String handlers) {
for (String h : handlers.split(",")) {
String[] handler = h.split("=");
if (handler.length == 2) {
String typeName = getOSType(handler[0]);
+
if (typeName != null) {
if (typeName.startsWith("/"))
@@ -215,13 +197,14 @@
if (tname.length() != 0) {
List<UidWrapper> uids = allUids.get(tname);
+
if (uids == null) {
uids = new ArrayList<UidWrapper> ();
allUids.put(tname, uids);
}
if (beanTypes.containsKey(tname))
- updateMBeans2(uids, System.currentTimeMillis(), true, tname);
+ updateMBeans(uids, System.currentTimeMillis(), true, tname);
}
} catch (IOException e1) {
tname = "";
@@ -248,12 +231,12 @@
List<UidWrapper> uids = allUids.get(type);
- updateMBeans2(uids, System.currentTimeMillis(), false, type);
+ updateMBeans(uids, System.currentTimeMillis(), false, type);
return uids;
}
- private void updateMBeans2(List<UidWrapper> uids, long tstamp, boolean register, String type) {
+ private void updateMBeans(List<UidWrapper> uids, long tstamp, boolean register, String type) {
ObjectStoreIterator iter = new ObjectStoreIterator(StoreManager.getRecoveryStore(), type);
while (true) {
Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/tools/ObjStoreBrowserTest.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/tools/ObjStoreBrowserTest.java 2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/tools/ObjStoreBrowserTest.java 2011-12-16 13:22:23 UTC (rev 37817)
@@ -73,10 +73,12 @@
* @return An object that maintains MBeans representing completing transactions
*/
private ObjStoreBrowser createObjStoreBrowser() {
+ ObjStoreBrowser osb = new ObjStoreBrowser();
+
// define which object store types we are prepared to represent by mbeans
- System.setProperty("ObjStoreBrowserHandlers", "com.arjuna.ats.arjuna.AtomicAction=com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
+ osb.setType("com.arjuna.ats.arjuna.AtomicAction", "com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
- return new ObjStoreBrowser();
+ return osb;
}
@Test
@@ -99,9 +101,6 @@
{
ObjStoreBrowser osb = new ObjStoreBrowser("os");
- Properties p = ObjStoreBrowser.loadProperties("invalid property file");
-
- assertTrue(p.size() == 0);
osb.start();
osb.probe();
Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/tools/ObjStoreBrowserTest.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/tools/ObjStoreBrowserTest.java 2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/tools/ObjStoreBrowserTest.java 2011-12-16 13:22:23 UTC (rev 37817)
@@ -42,10 +42,7 @@
private ObjStoreBrowser createObjStoreBrowser() {
ObjStoreBrowser osb = new ObjStoreBrowser();
- osb.setTypes( new HashMap<String, String>() {{
- put("StateManager/BasicAction/TwoPhaseCoordinator/ArjunaTransactionImple", "com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
- put("StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction", "com.arjuna.ats.internal.jta.tools.osb.mbean.jta.JTAActionBean");
- }});
+ osb.setType("com.arjuna.ats.arjuna.AtomicAction", "com.arjuna.ats.internal.jta.tools.osb.mbean.jta.JTAActionBean");
return osb;
}
Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/tools/JTSObjStoreBrowserTest.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/tools/JTSObjStoreBrowserTest.java 2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/tools/JTSObjStoreBrowserTest.java 2011-12-16 13:22:23 UTC (rev 37817)
@@ -58,10 +58,8 @@
private ObjStoreBrowser createObjStoreBrowser() {
ObjStoreBrowser osb = new ObjStoreBrowser();
- osb.setTypes( new HashMap<String, String>() {{
- put("StateManager/BasicAction/TwoPhaseCoordinator/ArjunaTransactionImple", "com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
- put("StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction", "com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
- }});
+ osb.setType("com.arjuna.ats.arjuna.AtomicAction", "com.arjuna.ats.internal.jta.tools.osb.mbean.jta.JTAActionBean");
+ osb.setType("com.arjuna.ats.internal.jta.tools.osb.mbean.jts.ArjunaTransactionImpleWrapper", "com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
return osb;
}
Modified: labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/examples/classes/com/arjuna/jta/distributed/example/server/impl/ServerImpl.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/examples/classes/com/arjuna/jta/distributed/example/server/impl/ServerImpl.java 2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/examples/classes/com/arjuna/jta/distributed/example/server/impl/ServerImpl.java 2011-12-16 13:22:23 UTC (rev 37817)
@@ -138,11 +138,6 @@
.getNamedInstance(com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.class, "communicationStore");
communicationStoreObjectStoreEnvironmentBean.setObjectStoreDir(System.getProperty("user.dir") + "/distributedjta-examples/tx-object-store/" + nodeName);
- ObjStoreBrowser objStoreBrowser = new ObjStoreBrowser();
- Map<String, String> types = new HashMap<String, String>();
- types.put("StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction", "com.arjuna.ats.internal.jta.tools.osb.mbean.jta.JTAActionBean");
- objStoreBrowser.setTypes(types);
-
JTAEnvironmentBean jTAEnvironmentBean = com.arjuna.ats.jta.common.jtaPropertyManager.getJTAEnvironmentBean();
jTAEnvironmentBean.setLastResourceOptimisationInterface(org.jboss.tm.LastResource.class);
jTAEnvironmentBean.setTransactionManagerClassName("com.arjuna.ats.jbossatx.jta.TransactionManagerDelegate");
Modified: labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/tests/classes/com/arjuna/ats/jta/distributed/server/impl/ServerImpl.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/tests/classes/com/arjuna/ats/jta/distributed/server/impl/ServerImpl.java 2011-12-16 10:05:43 UTC (rev 37816)
+++ labs/jbosstm/branches/JBOSSTS_4_16/atsintegration/tests/classes/com/arjuna/ats/jta/distributed/server/impl/ServerImpl.java 2011-12-16 13:22:23 UTC (rev 37817)
@@ -119,11 +119,6 @@
.getNamedInstance(com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.class, "communicationStore");
communicationStoreObjectStoreEnvironmentBean.setObjectStoreDir(System.getProperty("user.dir") + "/distributedjta-tests/tx-object-store/" + nodeName);
- ObjStoreBrowser objStoreBrowser = new ObjStoreBrowser();
- Map<String, String> types = new HashMap<String, String>();
- types.put("StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction", "com.arjuna.ats.internal.jta.tools.osb.mbean.jta.JTAActionBean");
- objStoreBrowser.setTypes(types);
-
JTAEnvironmentBean jTAEnvironmentBean = com.arjuna.ats.jta.common.jtaPropertyManager.getJTAEnvironmentBean();
jTAEnvironmentBean.setLastResourceOptimisationInterface(org.jboss.tm.LastResource.class);
jTAEnvironmentBean.setTransactionManagerClassName("com.arjuna.ats.jbossatx.jta.TransactionManagerDelegate");
More information about the jboss-svn-commits
mailing list