How to get JVM uptime?

So far, I measure the uptime of my application via custom System.currentMillis() inspection at start and current time. The JDK 1.5 jConsole also shows the JVM uptime and the garbage collector debug output also has an uptime value. I wonder if there's a API to access this time?

API says:
This instance implementing this interface is an MXBean that can be obtained by calling the ManagementFactory.getRuntimeMXBean() method or from the platform MBeanServer method.

Similar Messages

  • How to get jvm heap size?

    Hi All,
    I would like to get the jvm heap size.
    by which method to get jvm heap size?
    Where it can be executed?
    Thanks,

    You can get this:
    http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html#freeMemory()

  • How to get the server name/hostname on which JVM is running?

    How to get the server name/hostname on which JVM is running from the Servlet or normal class?

    InetAddress.getLocalHost()

  • How to get File Reference of a properties file from EJB

    Hi,
    I am using Sun App server 7 with Oracle 9i. I am keeping all my SQL statements in a properties file from which I am loading it while making a database operation from Stateless beans. My problem is I am not able to get the reference of the properties file. Here is the code through which I am getting the SQL statements loaded to a cache.
    String sqlFileName = "SQL.properties";
    sqlCache.load(new FileInputStream(sqlFileName));
    From the cache I am sending the SQL statement depending on the key value. But the problem is I have to keep the SQL.properties file on the App Server config directory of the instance where the server.xml file resides. Otherwise it is not able to find the properties file. But I don't want to put the properties file on the config directory of the server instance. Please help how to get the properties file from the packakge. My file is residing inside a package com.company.sql . Botht the properties file and the class accessing the file are residing in the same package. Please help how to get the reference of the file with out putting the file in the config directory.
    Thanks
    Amit Patnaik

    Just wanted to warn you of the hazards if you read a file from EJB
    So please make sure that these hazards will not affect your application. However the solution suggested to use getResourceStream() concurs with ejbSpec
    This snippet is from suns blueprint on ejb
    Why can't EJBs read and write files and directories in the filesystem? And why can't they access file descriptors?
    Enterprise beans aren't allowed to access files primarily because files are not transactional resources. Allowing EJBs to access files or directories in the filesystem, or to use file descriptors, would compromise component distributability, and would be a security hazard.
    Another reason is deployability. The EJB container can choose to place an enterprise bean in any JVM, on any machine in a cluster. Yet the contents of a filesystem are not part of a deployment, and are therefore outside of the EJB container's control. File systems, directories, files, and especially file descriptors tend to be machine-local resources. If an enterprise bean running in a JVM on a particular machine is using or holding an open file descriptor to a file in the filesystem, that enterprise bean cannot easily be moved from one JVM or machine to another, without losing its reference to the file.
    Furthermore, giving EJBs access to the filesystem is a security hazard, since the enterprise bean could potentially read and broadcast the contents of sensitive files, or even upload and overwrite the JVM runtime binary for malicious purposes.
    Files are not an appropriate mechanism for storing business data for use by components, because they tend to be unstructured, are not under the control of the server environment, and typically don't provide distributed transactional access or fine-grained locking. Business data is better managed using a persistence interface such as JDBC, whose implementations usually provide these benefits. Read-only data can, however, be stored in files in a deployment JAR, and accessed with the getResource() or getResourceAsStream() methods of java.lang.Class.
    Hope this info helps!

  • How to get system Environment variable?

    How to get system Environment variable without using jni?
    just like "JAVA_HOME" or "PATH"...
    Any reply is help to me!! :-)

    Thx for your reply...
    I get it!!!
    Read environment variables from an application
    Start the JVM with the "-D" switch to pass properties to the application and read them with the System.getProperty() method. SET myvar=Hello world
    SET myothervar=nothing
    java -Dmyvar="%myvar%" -Dmyothervar="%myothervar%" myClass
    then in myClass String myvar = System.getProperty("myvar");
    String myothervar = System.getProperty("myothervar");
    This is useful when using a JAVA program as a CGI.
    (DOS bat file acting as a CGI) java -DREQUEST_METHOD="%REQUEST_METHOD%"
    -DQUERY_STRING="%QUERY_STRING%"
    javaCGI
    If you don't know in advance, the name of the variable to be passed to the JVM, then there is no 100% Java way to retrieve them.
    NOTE: JDK1.5 provides a way to achieve this, see this HowTo.
    One approach (not the easiest one), is to use a JNI call to fetch the variables, see this HowTo.
    A more low-tech way, is to launch the appropriate call to the operating system and capture the output. The following snippet puts all environment variables in a Properties class and display the value the TEMP variable. import java.io.*;
    import java.util.*;
    public class ReadEnv {
    public static Properties getEnvVars() throws Throwable {
    Process p = null;
    Properties envVars = new Properties();
    Runtime r = Runtime.getRuntime();
    String OS = System.getProperty("os.name").toLowerCase();
    // System.out.println(OS);
    if (OS.indexOf("windows 9") > -1) {
    p = r.exec( "command.com /c set" );
    else if ( (OS.indexOf("nt") > -1)
    || (OS.indexOf("windows 2000") > -1 )
    || (OS.indexOf("windows xp") > -1) ) {
    // thanks to JuanFran for the xp fix!
    p = r.exec( "cmd.exe /c set" );
    else {
    // our last hope, we assume Unix (thanks to H. Ware for the fix)
    p = r.exec( "env" );
    BufferedReader br = new BufferedReader
    ( new InputStreamReader( p.getInputStream() ) );
    String line;
    while( (line = br.readLine()) != null ) {
    int idx = line.indexOf( '=' );
    String key = line.substring( 0, idx );
    String value = line.substring( idx+1 );
    envVars.setProperty( key, value );
    // System.out.println( key + " = " + value );
    return envVars;
    public static void main(String args[]) {
    try {
    Properties p = ReadEnv.getEnvVars();
    System.out.println("the current value of TEMP is : " +
    p.getProperty("TEMP"));
    catch (Throwable e) {
    e.printStackTrace();
    Thanks to W.Rijnders for the W2K fix.
    An update from Van Ly :
    I found that, on Windows 2003 server, the property value for "os.name" is actually "windows 2003." So either that has to be added to the bunch of tests or just relax the comparison strings a bit: else if ( (OS.indexOf("nt") > -1)
    || (OS.indexOf("windows 2000") > -1 )
    || (OS.indexOf("windows 2003") > -1 ) // works but is quite specific to 2003
    || (OS.indexOf("windows xp") > -1) ) {
    else if ( (OS.indexOf("nt") > -1)
    || (OS.indexOf("windows 20") > -1 ) // probably is better since no other OS would return "windows" anyway
    || (OS.indexOf("windows xp") > -1) ) {
    I started with "windows 200" but thought "what the hell" and made it "windows 20" to lengthen its longivity. You could push it further and use "windows 2," I suppose. The only thing to watch out for is to not overlap with "windows 9."
    On Windows, pre-JDK 1.2 JVM has trouble reading the Output stream directly from the SET command, it never returns. Here 2 ways to bypass this behaviour.
    First, instead of calling directly the SET command, we use a BAT file, after the SET command we print a known string. Then, in Java, when we read this known string, we exit from loop. [env.bat]
    @set
    @echo **end
    [java]
    if (OS.indexOf("windows") > -1) {
    p = r.exec( "env.bat" );
    while( (line = br.readLine()) != null ) {
    if (line.indexOf("**end")>-1) break;
    int idx = line.indexOf( '=' );
    String key = line.substring( 0, idx );
    String value = line.substring( idx+1 );
    hash.put( key, value );
    System.out.println( key + " = " + value );
    The other solution is to send the result of the SET command to file and then read the file from Java. ...
    if (OS.indexOf("windows 9") > -1) {
    p = r.exec( "command.com /c set > envvar.txt" );
    else if ( (OS.indexOf("nt") > -1)
    || (OS.indexOf("windows 2000") > -1
    || (OS.indexOf("windows xp") > -1) ) {
    // thanks to JuanFran for the xp fix!
    p = r.exec( "cmd.exe /c set > envvar.txt" );
    // then read back the file
    Properties p = new Properties();
    p.load(new FileInputStream("envvar.txt"));
    Thanks to JP Daviau
    // UNIX
    public Properties getEnvironment() throws java.io.IOException {
    Properties env = new Properties();
    env.load(Runtime.getRuntime().exec("env").getInputStream());
    return env;
    Properties env = getEnvironment();
    String myEnvVar = env.get("MYENV_VAR");
    To read only one variable : // NT version , adaptation for other OS is left as an exercise...
    Process p = Runtime.getRuntime().exec("cmd.exe /c echo %MYVAR%");
    BufferedReader br = new BufferedReader
    ( new InputStreamReader( p.getInputStream() ) );
    String myvar = br.readLine();
    System.out.println(myvar);
    Java's System properties contains some useful informations about the environment, for example, the TEMP and PATH environment variables (on Windows). public class ShowSome {
    public static void main(String args[]){
    System.out.println("TEMP : " + System.getProperty("java.io.tmpdir"));
    System.out.println("PATH : " + System.getProperty("java.library.path"));
    System.out.println("CLASSPATH : " + System.getProperty("java.class.path"));
    System.out.println("SYSTEM DIR : " +
    System.getProperty("user.home")); // ex. c:\windows on Win9x system
    System.out.println("CURRENT DIR: " + System.getProperty("user.dir"));
    Here some tips from H. Ware about the PATH on different OS.
    PATH is not quite the same as library path. In unixes, they are completely different---the libraries typically have their own directories. System.out.println("the current value of PATH is: {" +
    p.getProperty("PATH")+"}");
    System.out.println("LIBPATH: {" +
    System.getProperty("java.library.path")+"}");
    gives the current value of PATH is:
    {/home/hware/bin:/usr/local/bin:/usr/xpg4/bin:/opt/SUNWspro/bin:/usr/ccs/bin:
    /usr/ucb:/bin:/usr/bin:/home/hware/linux-bin:/usr/openwin/bin/:/usr/games/:
    /usr/local/games:/usr/ccs/lib/:/usr/new:/usr/sbin/:/sbin/:/usr/hosts/:
    /usr/openwin/lib:/usr/X11/bin:/usr/bin/X11/:/usr/local/bin/X11:
    /usr/bin/pbmplus:/usr/etc/:/usr/dt/bin/:/usr/lib:/usr/lib/lp/postscript:
    /usr/lib/nis:/usr/share/bin:/usr/share/bin/X11:
    /home/hware/work/cdk/main/cdk/../bin:/home/hware/work/cdk/main/cdk/bin:.}
    LIBPATH:
    {/usr/lib/j2re1.3/lib/i386:/usr/lib/j2re1.3/lib/i386/native_threads:
    /usr/lib/j2re1.3/lib/i386/client:/usr/lib/j2sdk1.3/lib/i386:/usr/lib:/lib}
    on my linux workstation. (java added all those execpt /lib and /usr/lib). But these two lines aren't the same on window either:
    This system is windows nt the current value of PATH is:
    {d:\OrbixWeb3.2\bin;D:\jdk1.3\bin;c:\depot\cdk\main\cdk\bin;c:\depot\
    cdk\main\cdk\..\bin;d:\OrbixWeb3.2\bin;D:\Program
    Files\IBM\GSK\lib;H:\pvcs65\VM\win32\bin;c:\cygnus
    \cygwin-b20\H-i586-cygwin32\bin;d:\cfn\bin;D:\orant\bin;C:\WINNT\system32;C:\WINNT;
    C:\Program Files\Dell\OpenManage\Resolution Assistant\Common\bin;
    d:\Program Files\Symantec\pcAnywhere;
    C:\Program Files\Executive Software\DiskeeperServer\;C:\Program Files\Perforce}
    LIBPATH:
    {D:\jdk1.3\bin;.;C:\WINNT\System32;C:\WINNT;d:\OrbixWeb3.2\bin;D:\jdk1.3\bin;
    c:\depot\cdk\main\cdk\bin;c:\depot\cdk\main\cdk\..\bin;
    d:\OrbixWeb3.2\bin;D:\Program Files\IBM\GSK\lib;
    H:\pvcs65\VM\win32\bin;c:\cygnus\cygwin-b20\H-i586-cygwin32\bin;d:\cfn\bin;
    D:\orant\bin;C:\WINNT\system32;
    C:\WINNT;C:\Program Files\Dell\OpenManage\ResolutionAssistant\Common\bin;
    d:\Program Files\Symantec\pcAnywhere;
    C:\Program Files\Executive Software\DiskeeperServer\;C:\Program Files\Perforce}

  • How to get reference of a SessionBean From RemoteClient

    How to get reference of a SessionBean in a ApplicationServer from another SessionBean running in Another ApplicationServer

    Hi
    There is a method, getHandle() on the EJBObject interface that your remote interfaces extend. This handle can be used to pass a reference to an EJB to someone else (possibly running in another JVM). You can then call getEJBObject() on the Handle instance and get your remote interface on which you can call methods. Should be able to cast it to your specific bean.
    I haven't done this, so definitly test it out, but I think this is what you want to do.
    check it:
    http://mail-archive.objectweb.org/jonas/2000-12/msg00064.html
    I suggest u not to go for more complex code, make it simpler, or if its really required use it as a webservice
    Regards
    Abhijith YS

  • How to get latest CPU patch information

    Hi Gurus,
    Good Morning.
    How to get latest CPU patch information for our EBS 11i system, how to get alerts when ever they released CPU patches.

    Check  the SAWWAN'S Excellent previous post regarding developer patches , this post will give you entire information about Developer patches.
    Re: how to find the developer version
    Re: Developer 6i patches
    Check this metalink notes , hope this helps.
    Note: 466890.1 - Script to find Apache, Java, Jinitiator, Forms version and JVM details for Oracle E-Business Suite 11i
    Note: 392793.1 - How to Obtain Oracle Forms Version in Oracle Applications 11i from Command Line
    Edited by: Amigo on Dec 22, 2010 9:20 AM
    Edited by: Amigo on Dec 22, 2010 9:21 AM
    Edited by: Amigo on Dec 22, 2010 9:26 AM

  • How to get applets running with Java Plug-in on Win but also on Mac OS X???

    I've converted to the use of Java Plug-in for my applets, but I need to have those same applets executable from browsers on Mac OS X platform. Surely this has been done, but I don't see how. The browsers I've tried on Mac OS X (Netscape, IE) don't seem to recognize the <OBJECT> tag used for the java plug-in. I've seen no news about the Java plug-in being ported to Macs. How can one get the same applet to run with the Java plug-in on Windows browsers, and also to run with at least one of the common browsers on Mac OS X? Any help would be SO much appreciated!

    Those ten dukes look good to me. But the passing of fifteen months has me thinking you've probably moved on. In any case, here's my effort.
    I've been through a trial trying to get my applet, developed with 1.4.1_03, to run on my Mac OS X v.10.2.6 in multiple browsers. I'm posting my results here. Comments and feedback are welcome.
    JVM support for 1.4.1 is limited to the Safari browser. All other browsers running in Mac OS X that I've tried ( Camino, Opera, Internet Explorer, Mozilla ) are using the 1.3.1 plugin. According to a bug report by Mozilla on this topic ( see Bugzilla Bug # 197813 http://bugzilla.mozilla.org/show_bug.cgi?id=197813 )
    with the release of Apple's version of Sun's Java 1.4.1 the applet programming model has changed, and only Safari has adapted with this change. Other browsers, according to the report, could not because of a lack of documentation. The use of the MRJCarbon plugin offered by Mozilla (here - http://www.mozilla.org/oji/MRJPluginCarbon.html) only allows Mozilla to use the J 1.3.1. And I have not found any information on the Microsoft site about how to get IE 5.2 to recognize the newer version of Java.
    Regarding the use of the OBJECT tag in Safari, it is a matter of debate. A current post on this topic exists in the Applet Development forum:
    http://forum.java.sun.com/thread.jsp?forum=421&thread=441002
    In my experience, I have not been able to determine that Safari v1.0 recognizes the OBJECT tag. My experience is that the APPLET tag is required to run applets in Safari. The Bugzilla report echoes the problem with the BadMagicNumber error that can arise in Safari. Nonetheless, I enjoy Safari and I enjoy Mac OS X.

  • How to get a size of a object

    Hi
    Anybody Knows how to get a sizeof a object in java,
    Pls reply to this.
    cheers,
    Sen

    That's a bit ambiguous...
    If you are asking about the size of the object reference in memory, then it is defined in the JVM specification.
    I suspect you are asking about how much memory a given object takes up - that's going to be a bit tricky, because objects point to other objects, etc...
    Rather than trying to come up with a solution to the question, I'd like to ask exactly why you need this - that might help the forum to come up with a solution to the real problem. Sound good?
    - K

  • How stub gets copied in Client machine

    Hi,
    I'm new to EJB. Tutorial states that stub would be in client side and it would make communication to skeleton which is in EJB server. Could someone pls explain when /how stub gets copied to client machine ?
    Thanks.
    Patil

    When you request a page which contains Java Applet ( which is nothing but as .class file ) it gets transfered from server to the browser and gets executed using Browser's JVM. ( But I dont understand in what why this is related to my original questions )
    Thanks.

  • How to get JNDI context on Sun AS8.1? Please help!

    I am using NetBean4.1 with AS8.1.
    I want to write a client application to retrieve a ejb remotely on the AS8.1 server.
    Does anyone know how to get the JNDI initial context?
    If my Sun AS8.1 server is located at ip 218.100.100.100,
    what is the url needed to create a JNDI initial context?
    Also, the ejb my client app going to retreive contains the following class
    CustomerBean.class
    CustomerRemote.class
    CustomerRemoteHome.class
    CustomerRemoteBusiness.class
    when compiling the client app, do I only need CustomerRemoteHome.class?
    or do I need any other class file to compile(stub or whatever)?
    Thank you very much!!

    RTFM
    Using a Stand-Alone Client to Access an EJB Component
    To access an EJB component from a stand-alone client, perform the following steps:
    1. In your client code, instantiate the InitialContext:
    InitialContext ctx = new InitialContext();
    It is not necessary to explicitly instantiate a naming context that points to the CosNaming service.
    2. In the client code, look up the home object by specifying the JNDI name of the home object. For example:
    Object ref = ctx.lookup("jndi-name");
    BeanAHome = (BeanAHome)PortableRemoteObject.narrow(ref,BeanAHome.class);
    For more information about naming and lookups, see �Accessing the Naming Context� on page 239.
    3. Deploy the EJB component to be accessed. For more information on deployment, see �Tools for Deployment� on page 88.
    4. Copy the following JAR files to the client machine and include them in the classpath on the client side:
    * appserv-rt.jar - available at install_dir/lib
    * j2ee.jar - available at install_dir/lib
    5. To access EJB components that are residing in a remote system, set the values for the Java Virtual Machine startup options:
    jvmarg value = "-Dorg.omg.CORBA.ORBInitialHost=${ORBhost}"
    jvmarg value = "-Dorg.omg.CORBA.ORBInitialPort=${ORBport}"
    Here ORBhost is the Application Server hostname and ORBport is the ORB port number (default is 3700).
    This information can be obtained from the domain.xml file on the remote system. For more information on domain.xml file, see the Sun Java System Application Server Administration Reference.
    6. Run the stand-alone client. As long as the client environment is set appropriately and the JVM is compatible, you merely need to run the main class.

  • How to get the values from table SKB1 R/3  to SRM

    Hi Gurus,
    My requirement is to get all the values from the table SKB1 to SRM (i.e. in to an internal table) for doing some validation(G/L account XXXXXX requires an assignment to a CO objectXXXXXX.)
    Like wise I have many tables for doing validation in SRM
    Help me how to get this, suggest me any Function module with sample code.
    OR
    Any Standard FM which will give all the values of the fields in the table SKB1 when I pass the key fields G/L account & company code alone so that I can improve the performance.
    Suggest me.
    Regards
    Paul

    Hi,
    You can use the FM 's META_READ_TABLE Or RFC_READ_TABLE
    Which SRM / Backend system version are you using ?
    Are you taking care of the Importing paramater - DELIMITER in this case.. ??*
    See related links ->
    Re: Retrieving data from R/3 into SRM
    Re: Product Search TIME lag
    Else you can just call the remote enabled  FM "BAPI_GL_ACC_GETDETAIL"  from SRM.
    BR,
    Disha.
    Do reward points for useufl answers.

  • How to get the values from popup window to mainwindow

    HI all,
       I want to get the details from popup window.
          i have three input fields and one search button in my main window. when i click search button it should display popup window.whenever i click on selected row of the popup window table ,values should be visible in my main window input fields.(normal tables)
       now i am able to display popup window with values.How to get the values from popup window now.
       I can anybody explain me clearly.
    Thanks&Regards
    kranthi

    Hi Kranthi,
    Every webdynpro component has a global controller called the component controller which is visible to all other controllers within the component.So whenever you want to share some data in between 2 different views you can just make it a point to use the component controller's context for the same. For your requirement (within your popups view context) you will have have to copy the component controllers context to your view. You then will have to (programmatically) fill this context with your desired data in this popup view. You can then be able to read this context from whichever view you want. I hope that this would have made it clear for you. Am also giving you an [example|http://****************/Tutorials/WebDynproABAP/Modalbox/page1.htm] which you can go through which would give you a perfect understanding of all this. In this example the user has an input field in the main view. The user enters a customer number & presses on a pushbutton. The corresponding sales orders are then displayed in a popup window for the user. The user can then select any sales order & press on a button in the popup. These values would then get copied to the table in the main view.
    Regards,
    Uday

  • TS3999 I had an icloud account setup in 2009 when I first got my family members each a mac. I let that account expire(we never used it) and I don't know how to get it off of my ical. It is not recognizing any of the information to reset the password?

    I had an icloud account in 2009. We set it up as a family plan because my family had just changed from PC to Mac. We never used it and let the plan expire in 2010. My ical will not sync with my new iphone because it is linked to the family plan account that no longer exist. Because I don't remember my password, I tried resetting it. It says the personal information I entered is incorrect, but I know the information is correct...It's my birthday it asks for! Does anyone know how to get that account off of my mac without the account existing?

    You were a MobileMe (not iCloud) subscriber in 2009 and this service has been terminated. However the login is an Apple ID and this never expires. What is your operating system? Do you have a MobileMe icon in System Preferences? - if so you should be able to sign out in it, but you may not have an iCloud icon to let you create an iCloud account, though you can do so if your iPhone has iOS 5 or above.
    If you are getting login requests or other irritations from your MobileMe account you can go to (user)/Library/Preferences/ByHost and delete all .plist files beginning with com.apple.DotMac or com.apple.idisk, then reboot.
    The minimum requirement for iCloud to let you sync your data is 10.7.5 though you can sync through iTunes (except with Mavericks).

  • I cant update nor download any applications. My password was always invalid. And other username is prompted richardca0521@yahoo.ca which is not my account. How to get rid of this apple id and use my account for download? I have registered this to itunes.

    I can't update nor download any apps in itunes. Prompted invalid password, upon checking the apple id was not mine. The id was [email protected] whic is not mine. Pls. Help how to get rid of this. Thank you.

    try and delete the apps and re-add them

Maybe you are looking for

  • Is there way to install OS and drivers without recovery CD?

    Hi... I installed my notebook with the recovery cd... but i get disappointed because it installed a lot of unusual programs...like aol, sonic-pro, games... is that a way to install windows and drivers only ?? without this boring programs ??? i don't

  • F-58 Multiple invoices

    Hi guys. I am using f-58 and clearing just one invoice, but there are several open items under the same vendor. Inv 1 - 60$ Inv2 - 120$ Inv - 100$ I just want to pay Inv 1 with 60$. but when I am trying to post the payment, it says the difference is

  • Need help with netstream crossdomain issue

    Our company has a main server for our web site. But all of our graphics are then copied from the main server to a special caching server to speed things up. I am trying to use netstream to create a universal video player for our company and it works

  • Iweb won't let me select images, shapes, nothing!

    So.. i have a page. i put photos on it, shapes, whatever. now i click like a maniac on the images to move them, to add text, to do whatever, and nothing happens. I click on a shape (a line, arrow, that I just placed). the two dots on each end do not

  • Why do I get html tags with my Flash forms CGI-mailed input text?

    I'm using a Flash form to send input text to a cgi page (using load variable). The following text is on the CGI page. To: [email protected] From: [email] Errors-To: [email protected] Subject: [subject] Type of Project: [subject] Deadline: [details] N