Using JMX

This is not nessacerly for j2ee itself but since it's enterprise type stuff...
I have this requirment where I need to create a central configuration/mangement system for my broker applications.
My applications bassically, receive data and forward it to 3rd parties and vise versa.
Now one idea was to store all config values etc... in the db. But then it would require writitng a whole bunch of code to access thevalues from the database etc...
Though I new about JMX I never really payed attention to it...
So If I understand JMX correctly... I could write my application in the following way...
At start up, read a java properties file.
Implement get/set methods and application management functions in my application.
Then implement mbeams that use those get/set methods.
The get part is quite easy cause the getter methods would just return the current value of "propertie" in question.
I figure using the java properties api I would be able to persist the changed propertie everytime I call a set method.
Now the other issue is if I want to cluster the application propertie files are a no no since I would have to share the config values bewteen the nodes... How would I go about it?
Thanks

With J2EE, this can be done easily with an entity bean and container managed persistence. For a good example, see the PlayerBean example in the J2EE 1.4 tutorial, Chapter 27 Container-Managed Persistence Examples.
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html
regards,
Hans

Similar Messages

  • How to read the messages in the JMS Queue using JMX

    Hi,
              I want to read messages in the JMS queue using JMX. I was able to read using QueueBrowser but want to modify priority of the messages using JMX.
              I tried to use JMSDestinationRuntimeMBean but it does not allow us to read messages unless we pass the message Id. Is there any way that I can get all the messages in the queue.
              I am using Weblogic 8.1 SP4
              Can someone please help me in this regard.
              Thanks,
              Kiran.
              Edited by KGudipati at 10/22/2007 1:22 AM

    Hi,
    As far as i know, JMS Object Messages is not supported by XI JMS adapter.
    you need to have the JMS provider to transform the message to bytes messages.
    (Refer to SAP note 856346)

  • Using JMX to get status information about NetWeaver cluster

    Hi everybody,
    We are trying to use JMX to get some status information about NetWeaver cluster.
    For example, using the MBean with the name u201Ccom.sap.default:name=EL1,j2eeType=SAP_J2EEClusteru201D we can obtain the list of all instances running in cluster. Here an instance is a u201CJava instanceu201D in the NetWeaver terminology.
    The method u201CgetInstanceNodeIDsu201D provides us with a list of all nodes of an instance.
    Concretely, calling this method for a cluster running on one machine with two java processes, we get the following list of node Ids: u201C0, 1476420, 1476450, 1476451u201D where the last two correspond to the two java processes.
    What are the first two node Ids from the list?
    How can the last two node Ids be identified as java processes?
    How can we obtain status information about each java process (node id) ?
    Thanks for all ideas,
    Radu

    As there seems to be a lot of interest in this subject, and since I found some form of solution, I thought I'd share it with you.
    In the es-cli interface, there is a thing called browse mode. Activate it by typing browse after logging in.
    Now you can easily browse your network and all of the managed objects. Use getattributes at the end of each branch to see the properties of objects. So far, I've indexed all of the kernel reader module, the health monitor module, the common config reader and the config reader for workgroup servers. If my employer allows, I will post results to http://tille.garrels.be/training/sunmc/ - check later this week.
    Machtelt.

  • Help needed in using JMX APIs

    Hi
    My requirement is to retrieve the JNDI Names of the JMSConnectionFactory and the JMSQueue using the Connection factory or Queue name. In short im trying out a feasibility of reading the JNDI values for queues from weblogic config.xml instead of reading them from a properties file.
    I developed a sample code using JMX APIs that will fetch the JNDI names of all the JMS destinations available for a particluar JMSServer.
    But is there any way to retrieve the JNDI names based on the queue names .. in general i will give queue name as input and i want the queue's JNDI name as output.
    My sample code is :
    import java.util.Iterator;
    import java.util.Set;
    import javax.management.ObjectName;
    import javax.management.QueryExp;
    import javax.management.Attribute;
    import javax.naming.Context;
    import weblogic.jndi.Environment;
    import weblogic.management.MBeanHome;
    import weblogic.management.RemoteMBeanServer;
    import weblogic.management.WebLogicObjectName;
    import weblogic.management.configuration.JMSQueueMBean;
    import weblogic.management.configuration.JMSServerMBean;
    import weblogic.management.configuration.JMSConnectionFactoryMBean;
    import weblogic.management.configuration.JMSDestinationMBean;
    import weblogic.management.runtime.JMSServerRuntimeMBean;
    import weblogic.management.configuration.JMSDestinationMBean;
    public class JMSAddQueue {// The name of the WebLogic domain, please change this to match the //// name of your installation specific domain name                  
    private static String weblogicDomain = "conciergetestdomain";// The name of the WebLogic server, please change this to match the //// name of your installation specific server name
    public static void main(String[] args) {
         try
              Environment env = new Environment(); 
              env.setProviderUrl("t3://localhost:7001");  
              env.setSecurityPrincipal("system");  
              env.setSecurityCredentials("weblogic");  
              Context ctx = env.getInitialContext();  
              MBeanHome home = (MBeanHome) ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);  
              ctx.close();  
      JMSServerMBean cf = (JMSServerMBean)home.findOrCreateAdminMBean("TESTSERVER","JMSServer", weblogicDomain);
    JMSDestinationMBean[] jdb = cf.getDestinations();
    System.out.println("** The JNDI name is : "+jdb[0].getJNDIName());
    catch (Exception e) {
    e.printStackTrace();
    }Is there any way to retrieve the JNDI names using the queue names ?
    Thanks
    Arun B

    I will send up an alert for you, Colin. Even though I use iTunes for Mac, troubleshooting it isn't my forté.

  • How to get application's state on weblogic server using jmx.

    I want to get application state using JMX, I am able to get application list, name but not able to find its state. Some code snippet mentioned below. Please let me know if I can use some other MBean
    Thanks in advance..
    static {
    try {
    service = new ObjectName("com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean");
    }catch (MalformedObjectNameException e) {
    throw new AssertionError(e.getMessage());
    * Initialize connection to the Domain Runtime MBean Server
    public static void initConnection(String hostname, String portString, String username, String password) throws IOException, MalformedURLException
    String protocol = "t3";
    int port = Integer.parseInt(portString);
    String jndiroot = "/jndi/";
    String mserver = "weblogic.management.mbeanservers.domainruntime";
    JMXServiceURL serviceURL= new JMXServiceURL(protocol,hostname, port, jndiroot+mserver);
    // JMXServiceURL serviceURL = new JMXServiceURL(protocol, hostname, portString, jndiroot , mserver);
    Hashtable h = new Hashtable();
    h.put(Context.SECURITY_PRINCIPAL, username);
    h.put(Context.SECURITY_CREDENTIALS, password);
    h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
    "weblogic.management.remote");
    connector = JMXConnectorFactory.connect(serviceURL, h);
    connection = connector.getMBeanServerConnection();
    * Get an array of ServerRuntimeMBeans
    public static ObjectName[] getServerRuntimes() throws Exception {
    return (ObjectName[]) connection.getAttribute(service,
    "ServerRuntimes");
    * Get an array of WebAppComponentRuntimeMBeans
    public void getApplicationData() throws Exception {
    ObjectName[] serverRT = getServerRuntimes();
    int length = (int) serverRT.length;
    for (int i = 0; i < length; i++) {
    ObjectName[] appRT =
    (ObjectName[]) connection.getAttribute(serverRT,
    "ApplicationRuntimes");
    int appLength = (int) appRT.length;
    for (int x = 0; x < appLength; x++) {
    System.out.println("Application name: " +
    (String)connection.getAttribute(appRT[x], "Name")+"Application Status"+(String)connection.getAttribute(appRT[x], "State"));
    public static void main(String[] args) throws Exception {
    String hostname = "*****.us.oracle.com";
    String portString = "*****";
    String username = "***";
    String password = "****";
    JMXUtil s = new JMXUtil();
    initConnection(hostname, portString, username, password);
    s.getApplicationData();
    connector.close();

    register at elicense.bea.com and ask there.
    but, a license is a license, as long as the ipaddr is not restricted.
    Wayne
    Bora wrote:
    I downloaded an Evaluation copy from BEA but it expires in 30 days. The place I
    work has licenses for HPUX but I need to have a copy on my laptop for development
    & test.
    Thanks for help!
    Sincerely
    Bora

  • Best practice to monitor 10gR3 OSB performance using JMX API?

    Hi guys,
    I need some advice on the best practice to monitor 10gR3 OSB performance using JMX API.
    Jus to show I have done my home work, I managed to get the JMX sample code from
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jmx_monitoring/example.html#wp1109828
    working.
    The following is the list of options I am think about:
    * Set up: I have a cluster of one 1 admin server with 2 managed servers, which managed server runs an instance of OSB
    * What I try to achieve:
    - use JMX API to collect OSB stats data periodically as in sample code above then save data as a record to a
         database table
    Options/ideas:
    1. Simplest approach: Run the modified version of JMX sample on the Admin Server to save stats data to database
    regularly. I can't see problems with this one ...
    2. Use WLI to schedule the Task of collecting stats data regularly. May be overkill if option 1 above is good for production
    3. Deploy a simple web app on Admin Server, say a simple servlet that displays a simple page to start/stop and configure
    data collection interval for the timer
    What approach would you experts recommend?
    BTW, the caveats os using JMX in http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jmx_monitoring/concepts.html#wp1095673
    says
         Oracle strongly discourages using this API in a concurrent manner with more than one thread or process. This is because a reset performed in
         one thread or process is not visible to another threads or processes. This caveat also applies to resets performed from the Monitoring Dashboard of
         the Oracle Service Bus Console, as such resets are not visible to this API.
    Under what scenario would I be breaking this rule? I am a little worried about its statement
         discourages using this API in a concurrent manner with more than one thread or process
    Thanks in advance,
    Sam

    Hi Manoj,
    Thanks for getting back. I am afraid configuring aggregation interval from Dashboard doesn't solve problem as I need to collect stats data of endpoint URI or in hourly or daily basis, then output to CSV files so line graphs can be drawn for chosen applications.
    Just for those who may be interested. It's not possible to use SQL to query database tables to extract OSB stats for a specified time period, say 9am - 5pm. I raised a support case already and the response I got back is 'No'.
    That means using JMX API will be the way to go :)
    Has anyone actually done this kind of OSB stats report and care to give some pointers?
    I am thinking of using 7 or 1 days as the aggregation interval set in Dashboard of OSB admin console then collects stats data using JMX(as described in previous link) hourly using WebLogic Server JMX Timer Service as described in
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jmxinst/timer.html instead of Java's Timer class.
    Not sure if this is the best practice.
    Thanks,
    Regards,
    Sam

  • Using JMX and MBeans

    I've been experimenting with Java instrumentation with MBeans.
    I created a small app to try out some of the JMX features. The app has a class that I would like to monitor with MBeans. So I created to interfaces to function as MBeans and then had the class in my app implement both interfaces.
    I then wrote a class with only a main() method to instantiate my class and call the methods it implemented from my MBean interface. In the main method I provided the code to get an MBeanServer object and then use that to register my class that implemented the MBean interfaces. My intention was to try this out, but before I did I commented out the code needed to register the class with the MBean server. I did this because I assumed the implemented interface methods would be available for monitoring without registering and it made me think if I can monitor the instrumented class like this why would I need the MBean server.
    So what is the purpose of the JMX framework and MBeans if I can instrument any class as described above?
    Is it necessary to register only to be able to monitor from outside the JMV where the instrumented class is running?
    Or are there other advantages\features\reasons for registering with the MBean server?
    Thanks

    "MS" <[email protected]> wrote:
    >
    Hello All,
    I am looking for a java program that can create JDBC connection pool
    and datasource
    using JMX/Mbeans of WLS 7.0.2.
    Can somebody help?
    Thanks in advance.
    rgds
    MS

  • Deployment of .war file using JMX in jboss 4.0.5 GA

    Hi,
    Can anyone help me out in the steps of deployment of .war file using JMX in JBOSS 4.0.5 server.I went through the documentation in jboss.org but couldn't find a suitable one though there were many.Any links/url that you know about the deployment process will also be helpful to me.
    Thanks

    You're probably using an older version of JavaMail where there was a bug in the example
    DummySSLSocketFactory. Download the latest version and the example is correct.
    Also, if you're using DummySSLSocketFactory just to control which servers you trust,
    JavaMail 1.4.3 has some properties that will make this easier for you and avoid the need
    for DummySSLSocketFactory. In particular, see the mail.imaps.ssl.trust property.

  • How to use JMX with oc4j

    is there any document about how to use JMX with OC4J? the intention is that I would like to create an application, using JMX to manage OC4J, such dynamiclly adding connection pool, create data source. potentially, restart server, application ...
    is there any document about this?
    Thanks

    In addition to that, the documentation also has a section on accessing OC4J JMX/MBeans:
    http://otndnld.oracle.co.jp/document/products/as10g/101300/B25221_03/web.1013/b14433/mbeans.htm#sthref163
    The blog below also has examples, albeit from a Groovy perspective, but nonetheless, examples of how it can be done easily translated into Java:
    http://buttso.blogspot.com/search?q=jmx
    -steve-

  • How to add target to jmsSystemResource MBean using JMX

    Does anybody know how to add target to jmsSystemResource MBean using JMX in WebLogic 9.0?(I am not using WSLT) I always get "NoSuchMethodException":
              [jmsServer] Caused by: java.lang.NoSuchMethodException: addTarget(weblogic.management.configuration.
              TargetMBean,) for com.bea:Name=admin01DefaultJMSServer,Type=JMSSystemResource

    go to the object which u want to compare
    go to->version management->select the TR request no->and select remote comparision there->and give the system where u need to compare this object
    and next press compare
    hope it will work
    cheer
    s.janagar

  • Weblogic.security.service.NotYetInitializedException using JMX

    Hi there,
    I'm trying to use JMX to add a notification listener to listen for attribute changes to a WLS 8.1 MBean. My code when setting up the listener is as so:
    String url = "t3://localhost:7001";
    String serverName = "Server1";
    String userName = "weblogic";
    String password = "weblogic";
    MBeanHome home = null;
    RemoteMBeanServer rmbs = null;
    Environment env = new Environment();
    env.setProviderUrl(url);
    env.setSecurityPrincipal(userName);
    env.setSecurityCredentials(password);
    try {
         Context ctx = env.getInitialContext();
         home = (MBeanHome) ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
    } catch (NamingException e) {
         e.printStackTrace();
    rmbs = home.getMBeanServer();
    WLListener listener = new WLListener();
    WebLogicObjectName mbeanName = new WebLogicObjectName("examplesServer", "Server", "examples");
    rmbs.addNotificationListener(mbeanName, listener, null, null);This seems to work fine, I do not get any error messages. As you can see I'm using the server started through the examples, and I'm adding a notification listener to the ServerMBean.
    My notification listener code is as so:
    public void handleNotification(Notification notification, Object arg1) {
         AttributeChangeNotification changedAttrib = (AttributeChangeNotification) notification;
         try {
              System.out.println("Changed value from: " + changedAttrib.getOldValue() + " to " + changedAttrib.getNewValue());
         } catch (Exception ex) {
              ex.printStackTrace();
    public boolean isNotificationEnabled(Notification arg0) {
         return true;
    }Only when a notification happens and I call getOldValue() I get:
    weblogic.security.service.NotYetInitializedException: [Security:090392]SecurityServiceManager not yet initialized.
         at weblogic.security.service.SecurityServiceManagerDelegateImpl.getSecurityService(SecurityServiceManagerDelegateImpl.java:156)
         at weblogic.security.service.SecurityServiceManager.getSecurityService(SecurityServiceManager.java:175)
         at weblogic.management.internal.SecurityHelper.getRoleManager(SecurityHelper.java:402)
         at weblogic.management.internal.SecurityHelper.access$100(SecurityHelper.java:54)
         at weblogic.management.internal.SecurityHelper$IsAccessAllowedPrivilegeAction.run(SecurityHelper.java:493)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.management.internal.SecurityHelper.isAccessAllowed(SecurityHelper.java:393)
         at weblogic.management.internal.AttributeChangeNotification.getOldValue(AttributeChangeNotification.java:136)
         at com.xxxx.password.PasswordBme$WLListener.handleNotification(PasswordBme.java:76)
         at com.xxxx.password.PasswordBme$WLListener_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)Is there a step I'm missing out? The entry for this message in the documentation suggests calling BEA support.

    Hi there,
    I'm trying to use JMX to add a notification listener to listen for attribute changes to a WLS 8.1 MBean. My code when setting up the listener is as so:
    String url = "t3://localhost:7001";
    String serverName = "Server1";
    String userName = "weblogic";
    String password = "weblogic";
    MBeanHome home = null;
    RemoteMBeanServer rmbs = null;
    Environment env = new Environment();
    env.setProviderUrl(url);
    env.setSecurityPrincipal(userName);
    env.setSecurityCredentials(password);
    try {
         Context ctx = env.getInitialContext();
         home = (MBeanHome) ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
    } catch (NamingException e) {
         e.printStackTrace();
    rmbs = home.getMBeanServer();
    WLListener listener = new WLListener();
    WebLogicObjectName mbeanName = new WebLogicObjectName("examplesServer", "Server", "examples");
    rmbs.addNotificationListener(mbeanName, listener, null, null);This seems to work fine, I do not get any error messages. As you can see I'm using the server started through the examples, and I'm adding a notification listener to the ServerMBean.
    My notification listener code is as so:
    public void handleNotification(Notification notification, Object arg1) {
         AttributeChangeNotification changedAttrib = (AttributeChangeNotification) notification;
         try {
              System.out.println("Changed value from: " + changedAttrib.getOldValue() + " to " + changedAttrib.getNewValue());
         } catch (Exception ex) {
              ex.printStackTrace();
    public boolean isNotificationEnabled(Notification arg0) {
         return true;
    }Only when a notification happens and I call getOldValue() I get:
    weblogic.security.service.NotYetInitializedException: [Security:090392]SecurityServiceManager not yet initialized.
         at weblogic.security.service.SecurityServiceManagerDelegateImpl.getSecurityService(SecurityServiceManagerDelegateImpl.java:156)
         at weblogic.security.service.SecurityServiceManager.getSecurityService(SecurityServiceManager.java:175)
         at weblogic.management.internal.SecurityHelper.getRoleManager(SecurityHelper.java:402)
         at weblogic.management.internal.SecurityHelper.access$100(SecurityHelper.java:54)
         at weblogic.management.internal.SecurityHelper$IsAccessAllowedPrivilegeAction.run(SecurityHelper.java:493)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.management.internal.SecurityHelper.isAccessAllowed(SecurityHelper.java:393)
         at weblogic.management.internal.AttributeChangeNotification.getOldValue(AttributeChangeNotification.java:136)
         at com.xxxx.password.PasswordBme$WLListener.handleNotification(PasswordBme.java:76)
         at com.xxxx.password.PasswordBme$WLListener_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)Is there a step I'm missing out? The entry for this message in the documentation suggests calling BEA support.

  • How to use JMX

    Hi, all,
    I am newbie in JMX. I want to know what software,such as API and so on, i must need to use JMX .and I want some tutorials of JMX.
    thanks.
    Kaven

    Check out the JMX listserv archives at
    http://archives.java.sun.com
    and look for JMX-FORUM.
    Theres information in there, and coincidentally over that last two days people have been asking the exact same question - look for the replies to topic "help ... get me started" - lots of links there.
    There is also the sun JMX home page.
    There are a few commercial implementations of JMX and at least 2 open source ones - search the JMX-FORUM for "open" if you're interested in that. Plus Sun supplies a reference implementation ( although I haven't used that.)
    Personally I use JDMK, Sun's implementation, and I've found it meets my needs ( but then I'm not paying for the licence, my company is.) and it is available as an evaluation copy before you buy. It comes with tutorials, but I wouldn't be surprised if the others do as well.
    Try and search the sun site and google for JMX, there'll be stuff there.
    Finally, go to Amazon.com and look for "java and jmx" - there is at least one book out there.

  • Starting/stoping java app using JMX ?

    Hello, do any one know, whether we can start / stop java application using JMX ? I know it is monitoring api and can help to find whether app is up or down

    I see the same error when I start domain1. However, I was able to deploy and configure Access Manager 7.1 using the WAR file method, as described in Sun Java System Access Manager 7.1 Postinstallation Guide, page 153. The Guide's instructions are for Sun Java System Application Server Enterprise Edition 8.2, but they seem to work okay with version 9.1. After deploying the WAR file, the Configurator comes up automatically the first time you browse to its URL, typically http://localhost:8080/amserver.

  • Basic MIB and SNMP understanding using JMX

    Hello
    i am trying to get my head around SNMP using JMX, but i am finding it dificult to know where to start.
    ideally i would love to find some basic code and go through it, so that i can understand it.
    i would love to find some code which just "Gets" one parameter from a mib stored on a seperate PC and displays it on another PC.
    I have looked at advent - to complex for what i want.
    Any help or suggestions - or possibly Code!! would be appreciated.
    Thanks
    Norman

    There is an example code included in the upcoming book "JMX: Managing J2EE with Java Management Extensions" that shows how to retrieve a simple attribute value from an JMX SNMP Adaptor using the Sun JDMK and AdventNet SNMP toolkits. It's a brief introduction to SNMP integration but should get you started.
    http://www.amazon.com/exec/obidos/ASIN/0672322889/104-6670791-7933546
    Unfortunately you still have to wait a week or two to get it.
    Basically the examples show how you can generate the required MBeans from an SNMP MIB definition (in Sun's JDMK this is a tool called MibGen), then register the SNMP Adaptor to the MBean server and associate and register the MBeans that were generated from the MIB to the adaptor. You can then use an SNMP client to connect to the adaptor and manipulate the MBeans through SNMP.
    Hope this is of some help.
    -- Juha

  • Using JMX to database monitoring

    Hello, I'm a software developer, and I want to use JMX to database monitoring.
    I did sth to see in jconsole some data from our database, but Ive got problem to
    refresh it. I mean when jconsole is running and somebody makes changes in DB
    how can I see it on monitor ... ?? Something like dynamic MBeans ??
    second question - is it possible to use MXBean in java 1.5 ??
    thanks for answers
    PS. we are using Java 5 unfortunetelly

    oh I should say that:
    -I'm using jconsole to monitoring jobs i DB;
    -every job has its own MBean;
    -of course if some changes in already defined jobs occure - its no problem;
    Problem is when somebody create/delete jobs ... how can I using refresh button on jconsole get information about new job ?

  • Weblogic database resources using JMX

    Does anyone have an idea on how to get user defined Datasource information from Weblogic server using JMX?
    I have tried with different ObjectNames but none of them seems to work
    ObjectName service = new ObjectName("com.bea:Name=EditService,Type=weblogic.management.mbeanservers.edit.EditServiceMBean");
    and
    connection.getAttribute(service, "JDBCSystemResources");
    Thank you very much for your help.

    I would encourage you to use WLST because it's much easier IMHO. What is your use case?
    But if you must use java, this should get you started:
    package foo;
    import java.util.Hashtable;
    import javax.management.MBeanAttributeInfo;
    import javax.management.MBeanInfo;
    import javax.management.MBeanServerConnection;
    import javax.management.ObjectName;
    import javax.management.remote.JMXConnector;
    import javax.management.remote.JMXConnectorFactory;
    import javax.management.remote.JMXServiceURL;
    public class TestJMX {
         public static void main(String[] args) throws Exception {
              JMXConnector jmxCon = null;
              try {
                   JMXServiceURL serviceUrl = new JMXServiceURL(
                             "service:jmx:t3://localhost:7011/jndi/weblogic.management.mbeanservers.edit");
                   System.out.println("Connecting to: " + serviceUrl);
                   Hashtable env = new Hashtable();
                   env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
                             "weblogic.management.remote");
                   env.put(javax.naming.Context.SECURITY_PRINCIPAL, "weblogic");
                   env.put(javax.naming.Context.SECURITY_CREDENTIALS, "welcome1");
                   jmxCon = JMXConnectorFactory.newJMXConnector(serviceUrl, env);
                   jmxCon.connect();
                   MBeanServerConnection con = jmxCon.getMBeanServerConnection();
    //               Set<ObjectName> mbeans = con.queryNames(null, null);
    //               for (ObjectName mbeanName : mbeans) {
    //                    System.out.println(mbeanName);
                   System.out.println("***** JDBC System Resources ********" );
                   ObjectName domain = new ObjectName("com.bea:Name=medrec,Type=Domain");
                   ObjectName[] objNames = (ObjectName[]) con.getAttribute(domain, "JDBCSystemResources");
                   System.out.println("JDBCSystemResources");
                   for( ObjectName objName : objNames )
                        System.out.println( objName );
                        MBeanInfo info = con.getMBeanInfo(objName);
                        MBeanAttributeInfo[] attributes = info.getAttributes();
                        for( MBeanAttributeInfo attrInfo : attributes )
                             String name = attrInfo.getName();
                             System.out.println( name + " " + attrInfo.getType() + " " + con.getAttribute(objName, name) );
              } finally {
                   if (jmxCon != null)
                        jmxCon.close();
    }For me that prints:
    <pre>
    Connecting to: service:jmx:t3://localhost:7011/jndi/weblogic.management.mbeanservers.edit
    ***** JDBC System Resources ********
    JDBCSystemResources
    com.bea:Name=MedRecGlobalDataSourceXA,Type=JDBCSystemResource
    Parent javax.management.ObjectName com.bea:Name=medrec,Type=Domain
    Resource javax.management.ObjectName com.bea:Name=MedRecGlobalDataSourceXA,Type=weblogic.j2ee.descriptor.wl.JDBCDataSourceBean,Parent=[medrec]/JDBCSystemResources[MedRecGlobalDataSourceXA],Path=JDBCResource[MedRecGlobalDataSourceXA]
    Type java.lang.String JDBCSystemResource
    CompatibilityName java.lang.String null
    ModuleType java.lang.String null
    SourcePath java.lang.String ./config/jdbc/MedRec-jdbc.xml
    JDBCResource javax.management.ObjectName com.bea:Name=MedRecGlobalDataSourceXA,Type=weblogic.j2ee.descriptor.wl.JDBCDataSourceBean,Parent=[medrec]/JDBCSystemResources[MedRecGlobalDataSourceXA],Path=JDBCResource[MedRecGlobalDataSourceXA]
    DescriptorFileName java.lang.String jdbc/MedRec-jdbc.xml
    Notes java.lang.String null
    Name java.lang.String MedRecGlobalDataSourceXA
    SubDeployments [Ljavax.management.ObjectName; [Ljavax.management.ObjectName;@3219762f
    DeploymentPrincipalName java.lang.String null
    Targets [Ljavax.management.ObjectName; [Ljavax.management.ObjectName;@178aab40
    DeploymentOrder java.lang.Integer 100
    </pre>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Maybe you are looking for

  • Hp deskjet aio auto scans every time it's turned on

    deskjet 340 aio every time I turn it on (if it's connected to my computer {windows xp pro}), it automatically opens scan window, scans (usually a blank page cuz nothings in the scanner) and opens a photo software program.  How do I change these setti

  • How do I remove a second iTunes account that pops up when update an app on my iOS device?

    I used a second iTunes account a while back to buy apps. Now whenever I update my phone, it would ask for both accounts. I removed all the apps I bought from my 2nd account already and it would still ask for the 2nd account's password whenever I upda

  • Call functions in ABAP : CALL 'ThSysInfo'

    hi i am in need of certain information abt the blow code\ i just wanted to knw where the value HWID gets populated from after executing the below code can any body help plzzz CALL 'ThSysInfo'      ID 'OPCODE'   FIELD OPCODE_MSGSERVER      ID 'MSOPCOD

  • Buffering problem on Apple TV

    On my iTouch, I have 3 exercise bike workouts.  All 3 play perfectly on my computer and my iTouch.  However, only 2 of them play all the way through on Apple TV.  The third one starts to play, and then every few minutes stops and starts buffering for

  • Huge Processing Time in XI

    Hi All, We have an interface running in production server which is taking huge processing time. It is a File to IDoc scenario wherein the file size is about 1MB and it gets converted to something between 4-5MB after Content Conversion. Also, this iss