01-23-06 12:53 PM
pierre_c@editus.lu wrote:
>Hello,
>
>Have you any idea to get (in Java Language) the name of the instance or the
node which is used ?
>
>In fact I want to add a trace in my log file, when I have a Exception in on
e servlet deployed in one node, I want to log the error with the name of the
current node.
>
>Thanks for your help,
>
>Best regards,
>
>Pierre Chauvin
>
>
Servlet to display node name (tested on v6):
--------------------------------------------------
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.Set;
import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectInstance;
import javax.management.ObjectName;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ibm.websphere.management.AdminServiceFactory;
public class ShowNode extends HttpServlet implements Servlet {
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>Show Node</title></head><body>");
out.println("<h2>Port Name</h2>");
MBeanServer server =
AdminServiceFactory.getMBeanFactory().getMBeanServer();
try {
Set objectNames = server.queryMBeans(new
ObjectName("WebSphere:type=JVM,*"), null);
for (Iterator iter = objectNames.iterator(); iter.hasNext() ;) {
ObjectInstance oName = (ObjectInstance)iter.next();
String node = oName.getObjectName().getKeyProperty("node");
out.println("<br/>Node name: '" + node + "'");
}
} catch (MalformedObjectNameException e) {
out.println("<font color=\"red\">Exception: " + e + "<pre>");
e.printStackTrace(out);
out.println("</pre></font>");
}
out.println("</body></html>");
}
}
[ Post a follow-up to this message ]
|