1 25 26 package org.objectweb.jonas.webapp.jonasadmin.service.jtm; 27 28 import java.io.IOException ; 29 import java.util.ArrayList ; 30 31 import javax.management.ObjectName ; 32 import javax.servlet.ServletException ; 33 import javax.servlet.http.HttpServletRequest ; 34 import javax.servlet.http.HttpServletResponse ; 35 36 import org.apache.struts.action.ActionForm; 37 import org.apache.struts.action.ActionForward; 38 import org.apache.struts.action.ActionMapping; 39 import org.objectweb.jonas.jmx.J2eeObjectName; 40 import org.objectweb.jonas.jmx.JonasManagementRepr; 41 import org.objectweb.jonas.webapp.jonasadmin.JonasBaseAction; 42 import org.objectweb.jonas.webapp.jonasadmin.WhereAreYou; 43 44 47 48 public class EditTransactionRecoveryAction extends JonasBaseAction { 49 50 52 public ActionForward executeAction(ActionMapping pMapping, ActionForm pForm 53 , HttpServletRequest pRequest, HttpServletResponse pResponse) 54 throws IOException , ServletException { 55 56 m_WhereAreYou.selectNameNode(getTreeBranchName(DEPTH_SERVER) + WhereAreYou.NODE_SEPARATOR 58 + "services" + WhereAreYou.NODE_SEPARATOR + "transaction", true); 59 60 JtmServiceRecoveryForm oForm = (JtmServiceRecoveryForm) pForm; 62 63 try { 64 String mys; 66 String sDate; 67 String sFullTrans; 68 String sTransaction; 69 String sResource; 70 String sState; 71 String sXidcount; 72 Object txObject; 73 String [] myTxInfo; 74 int txInfoSize; 75 ArrayList al = new ArrayList (); 76 77 String currentDomainName = m_WhereAreYou.getCurrentDomainName(); 79 String currentJonasServerName = m_WhereAreYou.getCurrentJonasServerName(); 80 String jtaResourceName = "JTAResource"; 81 ObjectName jtaResourceObjectName = J2eeObjectName.JTAResource(currentDomainName, currentJonasServerName, jtaResourceName); 82 83 txObject = JonasManagementRepr.invoke(jtaResourceObjectName, "getAllRecoveryTx", null, null); 84 85 myTxInfo = (String []) txObject; 86 87 if (txObject != null) { 88 txInfoSize = myTxInfo.length; 89 90 for (int i = 0; i < txInfoSize; i++) { 91 mys = myTxInfo[i]; 92 int myix1 = mys.indexOf("????"); 93 sFullTrans = mys.substring(0, myix1); 94 int myix2 = mys.indexOf("????", myix1 + 4); 95 sTransaction = mys.substring(myix1 + 4, myix2); 96 int myix3 = mys.indexOf("????", myix2 + 4); 97 sDate = mys.substring(myix2 + 4, myix3); 98 sXidcount = mys.substring(myix3 + 4); 99 al.add(new TxRecovery (sFullTrans, sTransaction, sDate, sXidcount)); 100 } 101 } 102 103 pRequest.setAttribute("listRecoveryEntries", al); 105 } 106 catch (Throwable t) { 107 addGlobalError(t); 108 saveErrors(pRequest, m_Errors); 109 return (pMapping.findForward("Global Error")); 110 } 111 112 return (pMapping.findForward("Jtm Recovery")); 114 } 115 } 116 | Popular Tags |