How does the TIFF format compress images?

When we choose "File> Save As" to save an image to a TIFF file, a TIFF Options dialogue box appears with 4 image compression options( None, LZW, Zip, Jpeg). What is this for? Does the TIFF format compress images? Are they destructive to the image quality? THANK YOU

If you select no compression, it will take up too much space, guaranteed.  TIFF lets you pick any compression method supported by your program and the viewing program.  Some are lossy, some are lossless.  Most TIFFs tend to be compressed in LZW or ZIP, both of which are lossless.  You can also choose to compress your TIFF using JPEG compression, which is lossy, but I can't imagine why you would do this instead of simply saving as a JPEG file, which is more likely to be properly opened in browsers than a JPEG-compressed TIFF file.
And in response to one of the previous posts, not all compression throws away details from your file.  Only lossy compression (e.g., JPEG, or in the music area MP3) throws away data.  The lossless compression techniques simply encode the data in fewer bits if possible.  (One important fact not relevant to the web, where you will use 8-bit-per-channel files:  If your photos are 16-bit-per-channel, don't save in LZW compressed format; they will actually become larger than the uncompressed image.)  For a simplified example, if there is a series of 16 pixels of solid white, a losslessly compressed image will have code that says, in effect, 16 pixels of (255,255,255) using an abbreviated code instead of simply listing (255,255,255) sixteen times.  It builds up a directory of byte combinations and can use just a few bytes to refer to many bytes of image data.  Because the coding and decoding is exact, there is no change in the image data when it's opened.
JPEG is a lossy compression technique that doesn't actually record pixel values at all.  It uses formulas to specify averages and changes within regions.  In effect, it records the fact that a given group of pixels has values centered on X color, and that the upper left is much pinker and the lower right is much greener than the average.  When you pick the degree of quality for JPEG compression, you tell it how small to make the comparison cells.  As you can imagine, if the image has text, tree branches, or other highly contrasty subject matter, this will cause serious weirdness if the comparison cells aren't very small (i.e., you don't have the quality set to max).

Similar Messages

  • How Does the Reflection Go if image is Tilted? A Bit OT.

    Sorry if this is too much of a novice question and not really an Illustrator Question but I'll ask it anyway and risk being ignored.
    I'm trying to do a reflection for a web image.  It's easy if the image is dead straight but I want the image to be tilted and when I do that it loses something.  I'm not sure if it's because  the angles are wrong so, that's my question. This is near to what I'm thinking - am I close?
    Thanks

    martcol wrote:
    Many thanks,
    I'm grateful for you going so easy on me.  It's not as tough here as it can be on the Dreamweaver Board!
    Martin
    Don't write us off so fast…just need a little more time…and a really stupid quest ion would help as well.

  • How does the jvm handle drawing images outside an applet window?

    I have a question about an applet I want to optimize.
    Essentially the applet allows the user to scroll through a large map while viewing only a small portion of the map through the applet window.
    The map has a large array of circles with coordinates on the map that are drawn in their appropriate place in the applet window when the user scrolls the map.
    As it stands, the paint method loops through every circle in the array to draw them, but most of them are not visible in the window and end up getting drawn in a negative coordinate or a very large coordinate.
    My question is are these circles that are not seen in the applet window but are still calling drawCircle in the paint method putting a strain on the computer's graphics card?
    Would it be better if I looped through all circles and only called the drawCircle method on circles whose coordinates would be visible? Or would the extra step of checking each circle's coordinates before drawing be not worth as efficient?
    Any help would be appreciated.

    If the amount of stuff being rendered outside of the clip rectangle is small then it's usually not worth it to attempt to figure out what's being clipped and not draw it. If the clip rectangle represents only a small portion of the entire canvas that can be drawn, however, it's usually worthwhile to put in some logic to only draw what is necessary.
    Take JTextArea, for example. It could be displaying a text document thousands of lines long. Instead of rendering every line of text on every repaint operation, it contains the following logic:
    1. Get the current clip bounds (i.e. what part of the text area is "dirty" and must be repainted).
    2. Figure out what lines are displayed in the clip bounds. Some lines may be only partially visible (a line "halfway" scrolled down), but they need to be repainted too. If word wrap is disabled this is a very quick and cheap operation, but if word wrap is enabled, it's a little more complex.
    3. Only repaint those lines.
    This way, in the best-case scenario JTextArea only repaints a single line (the line the user is typing in). Worst case, it repaints the number of lines that can fit on the screen. But it never repaints too much.
    Anyway, I guess my advice would be: If it's cheap and easy to determine if something is out of the clip bounds, do it. If it's difficult to determine, do it only if you have a noticeable performance issue in your rendering code.

  • Does JavaFX support the TIFF-format?

    We are considering to use JavaFX to rewrite one of our C++ desktop apps.
    The app should be able to show TIFF-images though.
    Does JavaFX support the TIFF-format?
    The JavaFX-script below does not show the TIFF-image nor does it throw an Exception.
    javafx.stage.Stage {
    title : "Hello World"
    scene: javafx.scene.Scene {
    width: 200
    height: 200
    content: [
    javafx.scene.image.ImageView {
    image: javafx.scene.image.Image {
    url: "file:/C:/temp/HelloWorld.tiff"
    }

    An altenative...
    public class TIFFImageView extends CustomNode{
        public-init var fileName: String;
        public var imgScaleX: Number = 1;
        public var imgScaleY: Number = 1;
        public var nbFrame: Number = 0;
        public var currentFrame: Number = -1 on replace {
            displayFrame();
        public var tiffDecoder: ImageDecoder;
        public var imageView: ImageView;
        public function displayFrame() {
            try {
                if(currentFrame >= 0) {
                    var ri = tiffDecoder.decodeAsRenderedImage(currentFrame);
                    var pi = PlanarImage.wrapRenderedImage(ri);
                    imgScaleX = 580 / pi.getWidth();
                    imgScaleY = 450 / pi.getHeight();
                    imageView.image = Image.fromBufferedImage(pi.getAsBufferedImage());
            } catch (e: Exception) {
                println("display frame error: {e}");
        function loadFile() {
            try {
                var tifFile = new FileSeekableStream(fileName);
                tiffDecoder = ImageCodec.createImageDecoder("tiff", tifFile, null);
                nbFrame = tiffDecoder.getNumPages();
                if( nbFrame > 0) {
                    currentFrame = 0;
            } catch (e: Exception) {
                println("load file error: {e}");
        init {
            loadFile();
        override public function create(): Node {
            Group {
                content: [
                    VBox {
                        translateX: 10
                        translateX: 10
                        spacing: 20
                        content: [
                            HBox {
                                spacing: 20
                                content: [
                                    SwingButton {
                                        text: "Load Image"
                                        action: function() {
                                            var chooser: JFileChooser = new JFileChooser();
                                            if (JFileChooser.APPROVE_OPTION == chooser.showOpenDialog(null)) {
                                                var file = chooser.getSelectedFile();
                                                if(file.isFile() and file.canRead()) {
                                                    fileName = file.getCanonicalPath();
                                                    loadFile();
                                    SwingButton {
                                        enabled: bind (currentFrame > 0)
                                        text: "Previous Frame"
                                        action: function() {
                                            currentFrame --;
                                    SwingButton {
                                        enabled: bind (currentFrame < nbFrame - 1)
                                        text: "Next Frame"
                                        action: function() {
                                            currentFrame++;
                                    SwingLabel {
                                        translateY: 5
                                        text: bind "Frame index: {currentFrame} / {nbFrame}"
                            imageView = ImageView {
                                transforms: [
                                    Scale {
                                        x: bind imgScaleX
                                        y: bind imgScaleY
    }

  • X120e HDMI - 27" LED LCD @ 1920x1080 - how does the image look?

    Hi All,
    Since that my X120e is not compatible w/ my Dell 30" DVI-D dual link display, I'm about to invest in a 27" LED LCD w/ HDMI input.  If you're using the X120e on a 27" @ 1920x1080 via HDMI too, may I ask how does the image look to you?
    Can people even tell that all that images/video come from a lil' laptop?
    I asked cos' as we all agree that X120e's built-in display is a lil' on the weak side, I wonder if this carries onto an external display too or not.  Speaking of which, ever since I downloaded all latest drivers (as late as last night), my X120e's picture quality is now noticeably better, have you guys noticed this too?  And I haven't even used Microsoft's picture calibration software yet cos' last time I used it, all grey areas looked pinkish.
    Thanks.

    Yeah, as ColonelONeill said, the picture qualities are independent.
    Most likely, if you encounter any picture quality issue on the external, it's going to be due to picture options on that monitor itself (color temperature, brightness, contrast, sharpness, etc. etc.) that can be adjusted independent of any setting that the computer has.  Any calibration tool software on the PC only adjusts how the data is sent out to the monitor in question.  Hardware + Software calibration tools are considerably more reliable because they can take into account the settings on the monitor itself.  Sadly one can't adjust the laptop's screen's settings itself.
    If you're going to use the HDMI connection, don't forget to go into your Catalyst Control Center and adjust the overscan / underscan setting to get the image to fill up your monitor's screen.  AMD sets the overscan / underscan option to default with a slight border around the desktop.  This in turn can cause a sort of blurriness because the pixels on the monitor is not 1:1 to the pixels that the laptop is outputting (1920 x 1080 resolution being fit into a 1820 x 980 resolution with a 50 pixel black border, for example).
    P.S. the Overscan / Underscan option only shows up in CCC if you have the device connected through HDMI.
    For a compilation of most X120e issues:
    Compilation of Lenovo X120e issues and solutions

  • TRFC internals - how does the async processing happen?

    tRFC internals - how does the async processing happen?
    Dear all,
    With the document "[https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694]" there is an excellent place to read about SAP RFCs (remote function calls).
    Pages 94 to 96 describe in detail how tFRC (transactional RFC) works.
    However, there is still something unclear for me with the following sentence on page 94:
    "The truly exciting part happens when the program
    issues a COMMIT WORK command. The recorded calls
    are executed asynchronously in a special set of tRFC
    processing sessions created for each transaction ID..."
    Maybe someone can answer the following questions:
    a) what does exactly trigger and execute the tRFC?
    b) is it the ABAP runtime system itself, spawning the additional task in DIA?
    c) if multiple tRFC LUWs have been recorded, they are all executed in parallel by this procedure!?
    d) does the execution try to utilize all available DIA processes?
    e) how do the rdisp/rfc_... parameter come into the game?
       are they evaluated? We have seen all DIA occupied by the tRFCs executed!
    Best regards,
    Peter
    P.S.: if someone has answers to these ones, more related to error handling, would be great as well
    f) the jobs ARFC*, do they also use parallel processing?
       or is every ARFC* job responsible only for one single LUW?
       (note https://service.sap.com/sap/support/notes/366807 did not give a perfect answer)
    g) and how does the report RSARFCEX work compared to immediate execution?

    That's the problem, it won't.
    internal static string GetAvailabilityGroupFromConnection(SPDatabase db)
    if (!UsesAvailabilityConnection(db))
    return null;
    string dataSource = db.ConnectionString.DataSource;
    string cmdText = string.Format(CultureInfo.InvariantCulture, "\r\n SELECT name FROM sys.availability_groups g\r\n JOIN sys.availability_group_listeners l ON g.group_id = l.group_id\r\n WHERE dns_name = '{0}'\r\n ", new object[] { dataSource });
    string str3 = null;
    using (SqlCommand command = new SqlCommand(cmdText))
    ULS.SendTraceTag(0x302263, ULSCat.msoulscat_WSS_Database, ULSTraceLevel.Medium, "Looking up availability group for listener: {0}", new object[] { cmdText });
    using (SqlDataReader reader = GetSessionFromDatabase(db).ExecuteReader(command))
    while (reader.Read())
    str3 = reader.GetString(0);
    ULS.SendTraceTag(0x302280, ULSCat.msoulscat_WSS_Database, ULSTraceLevel.Medium, "Found group {0} for listener {1}", new object[] { str3, dataSource });
    This piece of code looks at the SPDatabase's connection string (the SQL alias, for example) and executes a T-SQL query looking for that name within SQL Server. Since the SQL alias does not exist within the SQL Server's configuration, it will return a null
    value, and you won't be able to set up the AG config using the AG cmdlets.
    Also, since mobility exists by the very nature of using an AG Listener, using a SQL Alias is redundant.
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • How does one crop an .ai image to a defined shape?

    How does one crop an .ai image to a defined shape?
    In other words, I want to select and crop from a larger image an area such as a rectangle that I define.
    Right now, I try to select and crop a rectangular portion of an image but every shape that is even partially within the rectangle is selected both within and without the rectangle.
    I am using CS2 on a Mac.

    Clifford,
    I've figured out part 1, how to crop an image using a rectangle on  another layer.
    Then I did:
    To really get rid of the outlying parts, with the Clipping Mask still 
    selected you may:
    5) Choose anything but Normal in the Transparency palette dropdown 
    and Object>Flatten Transparency (just keep the defaults).
    The result was "Filter cannot complete because of unknown error"  FSpt
    Is this a bug, or is their a problem with the way I am following your 
    method?
    It is hard to say.
    It is more convenient to place the rectangle mentioned in 1) on the same layer; if you place the path(s) to define the Clipping Mask, the Clipping Mask and its contents will be on that layer, everything from lower layers being moved to it.
    What about 2) - 4)?
    It is easier to answer if you state what happens in the individual steps (repeated here):
    1) Create a rectangle on top of the image with the same size (you may use the Transform palette/panel to see the size, and to place it by);
    2) Create the cutout shape;
    3) Select 1) and 2) and Object>Compound Path>Make;
    4) Also select the image, and Object>Clipping Mask>Make.
    To really get rid of the outlying parts, with the Clipping Mask still selected you may:
    5) Choose anything but Normal in the Transparency palette dropdown and Object>Flatten Transparency (just keep the defaults).

  • For the iPod Classic, in settings, how does the volume limit work? After setting a limit, how to re-set to a new volume limit?

    For the iPod Classic, in settings, how does the volume limit work? After setting a limit, how to re-set to a new volume limit?

    This thread - with a quote from an LR4 Beta thread - says that all 6 central Basic controls in PV2012 (Exposure thru Blacks) are now image-adaptive, as were Recovery, Fill Light, and Clarity in previous versions:
    http://forums.adobe.com/message/4253485
    Whether they are suitable for creating a Timelapse sequence without significant flicker is entirely subjective and up to you - and of course, dependant on your specific images & how they change over time.  Sorry, not much advice beyond try PV2012, and revert back to PV2010 if you get too much flicker.

  • How does the predator AG3 used the 128 GB ssd and the 2TB hdd together

    I am contemplating buying a Predator AG3 from Costco.  It comes with 128b ssd and a 2tb Hdd.  How does the system use the two in combination?  Is the ssd only for booting?  Will Windows be on the SSD.  Will the system know to go to the HDD for programs not on the SSD?  I have no experience in using a system with two different type drives.

    SSD is normally used as OS installation and some heavy load programs (video - audio - image editing)HDD is used as data storage or to install big size programs (mostly games). System doesn't know where you want to install things so, it asks during installation example C:\Program Files\gamenameXYZyou can tell the installer to use the HDD instead of C: on SSD so you will change C to D (if your HDD has D: as system letter)D:\Program Files\gamenameXYZ

  • How does the iPhone 3G handle this???

    If I save photos from my email, and there are multiple photos with the same name, how does the iPhone 3g behave? Since I can't see the filenames of the photos, I am unable to determine if any two images have the same filename.
    Does the phone rename one? Overwrite one? What occurs??

    That is exactly what I was talking about. I expected as much however I noticed the following occur. I save a photo from one source, and saved the exact same photo from another source (both have the same filename) I then deleted the first one that I saved, and both photos were deleted.
    Is that the proper behavoire?

  • HT4221 How does the Ipad5 sort photos synced from a computer

    How does the Ipad5 sort photos synced from a laptop? 

    Hi Nancy 2803,
    I am guessing you want to sync photos from your iPhone 5S to a Laptop i.e. a Windows Laptop.
    Firstly when you insert your iPhone into your computer, go to:
    1.     Computer
    2.     Wait for the Laptop to recognize the iPhone
    3.     Right Click on your iPhone Named: [NAME iPhone] or something simular
    4.     Click import pictures and videos
    5.     Click import settings
    6.     Click Folder Name
    This folder name is how the images will be arranged, either:
    a) Date imported and Tag
    b) Date Taken and Tag
    c) Tag and Date imported
    d) Tag and Date taken
    e) Tag and Data Taken Range
    f) Tag
    I use Date Taken and Tag as this allows me to see in my pictures library a date and the images taken that date, i.e. all the images taken on the 25/12/2013, if you use date imported, you just get all your images stored in one folder and cannot quickly find images on a date.
    In this setting you can also change the folder to where the images/videos will be saved, the name of the images as well as options such as delete images from the device once imported.
    Many Thanks, Happy New Year and I cannot wait to hear from you again in regards to this issue.
    iBenjamin Crowley

  • How does the Java card simulator work? and other misc questions

    First, I have a class inherited from Applet. Okay, I did that.
    How do I convert this class to a CAP file? I mean I have a class file which is compiled by javac, do I use this file to convert into a CAP file? What is an AID? Do I make up this AID?
    In this .scr file (APDU Script), I understand the first 4 bytes, it means to create an Applet, but what about the rest? I know there are some intermixes of lengths and AIDs, I just can't decipher this.
    // create wallet applet
    0x80 0xB8 0x00 0x00 0x14 0x0a 0xa0 0x0 0x0 0x0 0x62 0x3 0x1 0xc 0x6 0x1 0x08 0 0 0x05 0x01 0x02 0x03 0x04 0x05 0x7F;
    And here comes the main question?
    How does the simulator work? How do I generate the data that mimics what the card reader reads?
    Thanks
    Jack

    At first blush,
    I have these when executing the RMIPurse sample according to the user guide
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported type long of field interfaceHash.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode anewarray in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode new in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode invokespecial in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.Operation.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode new in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode invokespecial in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.Operation.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode new in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode invokespecial in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.Operation.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode new in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode invokespecial in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.Operation.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode new in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode invokespecial in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.Operation.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type long of method dispatch.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.UnmarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.SkeletonMismatchException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnmarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.MarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnmarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.MarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.MarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.MarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnmarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnmarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.MarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Skel: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.UnmarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported type long of field interfaceHash.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported type long of field serialVersionUID.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode anewarray in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode new in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokespecial in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.Operation.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode new in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokespecial in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.Operation.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode new in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokespecial in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.Operation.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode new in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokespecial in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.Operation.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode new in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokespecial in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.rmi.server.Operation.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode ifnull in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokestatic in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method class$(java.lang.String) of class com.sun.jcclassic.samples.rmi.PurseImpl_Stub.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode anewarray in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode ifnull in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokestatic in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method class$(java.lang.String) of class com.sun.jcclassic.samples.rmi.PurseImpl_Stub.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode ifnull in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokestatic in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method class$(java.lang.String) of class com.sun.jcclassic.samples.rmi.PurseImpl_Stub.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode ifnull in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokestatic in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method class$(java.lang.String) of class com.sun.jcclassic.samples.rmi.PurseImpl_Stub.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokevirtual in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method getMethod(java.lang.String, java.lang.Class[]) of class java.lang.Class.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode pop in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode ifnull in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokestatic in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method class$(java.lang.String) of class com.sun.jcclassic.samples.rmi.PurseImpl_Stub.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode anewarray in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokevirtual in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method getMethod(java.lang.String, java.lang.Class[]) of class java.lang.Class.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode ifnull in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokestatic in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method class$(java.lang.String) of class com.sun.jcclassic.samples.rmi.PurseImpl_Stub.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode anewarray in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokevirtual in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method getMethod(java.lang.String, java.lang.Class[]) of class java.lang.Class.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode ifnull in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokestatic in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method class$(java.lang.String) of class com.sun.jcclassic.samples.rmi.PurseImpl_Stub.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode anewarray in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokevirtual in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method getMethod(java.lang.String, java.lang.Class[]) of class java.lang.Class.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode ifnull in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokestatic in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method class$(java.lang.String) of class com.sun.jcclassic.samples.rmi.PurseImpl_Stub.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode anewarray in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokevirtual in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method getMethod(java.lang.String, java.lang.Class[]) of class java.lang.Class.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode ifnull in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokestatic in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method class$(java.lang.String) of class com.sun.jcclassic.samples.rmi.PurseImpl_Stub.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode anewarray in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode ifnull in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokestatic in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method class$(java.lang.String) of class com.sun.jcclassic.samples.rmi.PurseImpl_Stub.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode aastore in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported bytecode invokevirtual in clinit method.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method getMethod(java.lang.String, java.lang.Class[]) of class java.lang.Class.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode goto in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unhandled bytecode pop in clinit method, try a different compiler.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of method class$.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method forName(java.lang.String) of class java.lang.Class.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported return type String of invoked method getMessage() of class java.lang.Throwable.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String) of class java.lang.NoClassDefFoundError.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type long of invoked method invoke(java.rmi.Remote, java.lang.reflect.Method, java.lang.Object[], long) of class java.rmi.server.RemoteRef.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type long of invoked method newCall(java.rmi.server.RemoteObject, java.rmi.server.Operation[], int, long) of class java.rmi.server.RemoteRef.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.MarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnexpectedException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type long of invoked method invoke(java.rmi.Remote, java.lang.reflect.Method, java.lang.Object[], long) of class java.rmi.server.RemoteRef.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type long of invoked method newCall(java.rmi.server.RemoteObject, java.rmi.server.Operation[], int, long) of class java.rmi.server.RemoteRef.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.MarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnexpectedException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type long of invoked method invoke(java.rmi.Remote, java.lang.reflect.Method, java.lang.Object[], long) of class java.rmi.server.RemoteRef.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type long of invoked method newCall(java.rmi.server.RemoteObject, java.rmi.server.Operation[], int, long) of class java.rmi.server.RemoteRef.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnmarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnmarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnexpectedException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type long of invoked method invoke(java.rmi.Remote, java.lang.reflect.Method, java.lang.Object[], long) of class java.rmi.server.RemoteRef.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type long of invoked method newCall(java.rmi.server.RemoteObject, java.rmi.server.Operation[], int, long) of class java.rmi.server.RemoteRef.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnmarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnexpectedException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type long of invoked method invoke(java.rmi.Remote, java.lang.reflect.Method, java.lang.Object[], long) of class java.rmi.server.RemoteRef.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported long type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type long of invoked method newCall(java.rmi.server.RemoteObject, java.rmi.server.Operation[], int, long) of class java.rmi.server.RemoteRef.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.MarshalException.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported String type constant.
      [convert] error: com.sun.jcclassic.samples.rmi.PurseImpl_Stub: unsupported parameter type String of invoked method <init>(java.lang.String, java.lang.Exception) of class java.rmi.UnexpectedException.At the first command prompt, I typed cref -o demoee
    and at the next command prompt, I typed ant all, and I got those error messages.
    Thanks, you are so nice to help :)
    Jack

  • How do you connect your photoshop elements on your computer to your account online? and how do you create a customized url? how does the gallery work and how do you access it? i have trouble signing in on my program from my computer to connect to the onli

    how do you connect your photoshop elements on your computer to your account online? and how do you create a customized url? how does the gallery work and how do you access it? i have trouble signing in on my program from my computer to connect to the online photoshop, and I really want to create my own customized url and post photos to my gallery and share them with the world, family, and friends, but i need help because i can't figure how to do any of this, would really appreciate feedback and assistance, thanks, - claire conlon

    To add to sig's reply, "calibrating" does not calibrate Lithiu-Ion batteries, it calibrates the charge reporting circuitry.  If you look at the effect of deep discharging Lithium-Ion batteries in the data from the independent test group, Battery University, you will see that doing so shortens the life of the battery significantly. It looks like an optimum balance between use and life is at a discharge level of 50%.

  • How do I move a back up to another external drive and how does the Mac Book then find the new back up?

    how do I move a back up to another external drive and how does the Mac Book then find the new back up?
    I currently have the back up on a Time Capsule, I want to move it from the Time Capsule to another external hard drive.

    Did you read the link to the Pondidni website?  You will have to select the Time Machine HDD for the new MBP and the old one in System Preferences>Time Machine:
    Ciao.

  • How does the remote object connect to the correct host

    i have had a small doubt on how the remote reference manages to find the correct host to call the subsequent methods after a sucessful lookup.
    given a rebind or bind to the registry, the registry only stores the alias and the remote reference, now imagine a client calling a lookup on the registry would only get the remote reference, and not in which machine the remote object is found.
    what i wanted to know is how does the client or atleast the remote reference returned by the registry correctly connects to the machine where the remote object is located. i dont think its stored in the stub bcos the stub is a complie time stuff.
    i would be pleased to have a comprehensive answer for this.

    The membership in the group communication framework is always accurate and upto date.Up to date to the moment when you check. Not up to date to the moment when you make the RMI call.
    i could basically chk if this ip is available in the membership list.Complete waste of time. It doesn't matter what you check ahead of time, you are still trying to predict the future.
    And you still have to deal with ConnectException etc from the actual remote method call. And the way you will deal with that in your situation is exactly the same as what you were going to do if your ahead-of-time check failed.
    So just catch the exception(s) and deal with the problem there.

Maybe you are looking for