Puzzled about RMI

Folks,
I'm just playing with RMI now and have followed the tutorial but I am a little puzzled about some behaviour I'm observing. This may be that I am missing a piece of information about RMI or how it works so if anyone can fill in the blanks then I would be most appreciative!!!
So I've got the following Remote interface definition:
import java.rmi.*;
public interface RMIInterface extends Remote
    public int getValue () throws RemoteException;
    public void setValue (int val) throws RemoteException;
}And I have some code that implements that interface. This code also contains a main method that performs some stuff with the RMI object. It is given below:
import java.rmi.*;
import java.io.*;
public class RMIObject implements Remote, RMIInterface, Serializable
    private int value = 0;
    public int getValue ()
                         throws RemoteException
     return this.value;
    public void setValue (int    val)
                          throws RemoteException
     this.value = val;
    static public void main (String argv[])
     try
         RMIObject o = new RMIObject ();
         Naming.rebind ("//localhost/RMIObject", o);
         o = (RMIObject) Naming.lookup ("//localhost/RMIObject");
         o.setValue (100);
         System.out.println (o.getValue ());
         o = (RMIObject) Naming.lookup ("//localhost/RMIObject");
         System.out.println (o.getValue ());
     } catch (Exception e) {
         e.printStackTrace ();
}As you can see, I bind the object, then get a new reference to the object, set a value then get the reference again and see what the value is.
The output I get from this code is:
100
0
Which indicates that setValue is working when the reference is local but it's not updating the remote object. Now the question is, is this the way that RMI is supposed to work? i.e. should you NOT use RMI objects for holding state? If so what's the point because effectively the object would be isolated...can anyone shed any light on this?
BTW, I am NOT a student and this is NOT related to any exam/coursework question!!!

Hi!
Naming.lookup(..) actually returns a local reference to the server's stub object (which is locally present in the RMI client's machine). This stub takes care of the remote method invocations. Actually I don't understand how could you do the typecasting to the RMIObject but this is not really important right now!
Let's see what happened in your example:
First you registered your RMIObject in the registry.
Then you retrieved a remote reference to it (a local stub, which implements the remote interface of the server object) and you set some variables of it.
Then you retrieved again that stub (the java system probably instantiated an other stub object) and its variables were initialized also.
This is not the way as the RMI should be used!
The Naming.lookup(..) method always returns a Remote interface (if it can, or throws a RemoteException). This return value must be typecasted to the server object's Remote interface (in your example it's RMIInterface).
Then you can use this object's (interface's) methods as you want to. (actually you use the stub object's methods which converts your calls to remote calls...)
I hope it's clear now,
Sany

Similar Messages

  • X-post: Puzzled about RMI

    Folks, yes I am cross posting this so try to keep the flames down :) I've also placed it on the RMI forum but no one there seems to want to help and I know everyone in the "Advanced" forum are very helpful (do you like the flattery???).
    Anyway, I'm just playing with RMI now and have followed the tutorial but I am a little puzzled about some behaviour I'm observing. This may be that I am missing a piece of information about RMI or how it works so if anyone can fill in the blanks then I would be most appreciative!!!
    So I've got the following Remote interface definition:import java.rmi.*;
    public interface RMIInterface extends Remote
        public int getValue () throws RemoteException;
        public void setValue (int val) throws RemoteException;
    }And I have some code that implements that interface. This code also contains a main method that performs some stuff with the RMI object. It is given below:import java.rmi.*;
    import java.io.*;
    public class RMIObject implements Remote, RMIInterface, Serializable
        private int value = 0;
        public int getValue ()
                             throws RemoteException
         return this.value;
        public void setValue (int    val)
                              throws RemoteException
         this.value = val;
        static public void main (String argv[])
         try
                 // Create the object.
             RMIObject o = new RMIObject ();
                 // Bind it in.
             Naming.rebind ("//localhost/RMIObject", o);
                 // Now get a reference to the object from the name server.
             o = (RMIObject) Naming.lookup ("//localhost/RMIObject");
                 // Set the value to 100.
                 o.setValue (100);
                 // Print out the value.
             System.out.println (o.getValue ());
                 // Get ANOTHER reference to the object.
             o = (RMIObject) Naming.lookup ("//localhost/RMIObject");          
                 // See what the value is.
             System.out.println (o.getValue ());
         } catch (Exception e) {
             e.printStackTrace ();
    }As you can see, I bind the object, then get a new reference to the object, set a value then get the reference again and see what the value is.
    The output I get from this code is:
    100
    0
    Which indicates that setValue is working when the reference is local but it's not updating the remote object. Now the question is, is this the way that RMI is supposed to work? i.e. should you NOT use RMI objects for holding state? If so what's the point because effectively the object would be isolated...can anyone shed any light on this?
    BTW, I am NOT a student and this is NOT related to any exam/coursework question!!!

    Easy folks...my reference to my potential student status was supposed to be "tongue-in-cheek", tis been a LONG time since I could get up when I want and pretend that I was really overworked and complain that I had too many assignments...
    Now of course I am overworked and have too many assignments...least I get paid now...
    Thanks for the help on this, I like to understand the mechanisms behind things, RMI from the outside has an appearance of "magic" that annoys me, I wasn't able to find out any description of how it actually works behind the scenes. I had to infer that it acts as a "broker", I presume that the RemoteObject object stores some information about where the JVM that actually holds the object is and then the Client uses this information (again behind the scenes) to get a connection.
    This tends to worry me a bit though, the implication is that each object that is exported also contains a ServerSocket on a particular port that listens for incoming requests. Now I would presume that when it gets the request it then creates a new thread to handle it to prevent IO blocking. Now in a highly utilized system this means a lot of threads and a lot of port access, which is o.k. but that's a big use of resources. Also, if I have 2 objects listening on the same port, how does the JVM distinguish between the 2 objects when the incoming connection is received. The OS will wake up the JVM and inform it of a new connection (at least that's how Unix does it), but does the JVM have some "magic" that allows it to send it to the correct ServerSocket? I suppose that you also need to take into account Thread concurrency issues as well since you are (by definition) creating objects that will be multi-threaded...
    Can anyone enlighten me on some of the above? Are there any books around that describe how RMI actually works...

  • I hava a question about RMI,please help me!

    Ladys and Gentleman,I hava a question about RMI.I wirte four little programs in java that is about RMI on my PC.
    import java.rmi.*;
    public interface AddServerIntf extends Remote{
    double add(double d1,double d2) throws RemoteException;
    import java.rmi.*;
    import java.rmi.server.*;
    public class AddServerImpl extends UnicastRemoteObject implements AddServerIntf{
    public AddServerImpl() throws RemoteException{
    public double add(double d1,double d2)throws RemoteException{
    return d1+d2;
    import java.net.*;
    import java.rmi.*;
    public class AddServer{
    public static void main(String args[]){
    try{
    AddServerImpl addServerImpl=new AddServerImpl();
    Naming.rebind("AddServer",addServerImpl);
    }catch(Exception e){
    e.printStackTrace();
    import java.rmi.*;
    public class AddClient
         public static void main(String args[]){
         try{
         String addServerURL="rmi://"+args[0]+"/AddServer";
         AddServerIntf addServerIntf=(AddServerIntf) Naming.lookup(addServerURL);
         System.out.println("The first number is: "+args[1]);
         double d1=Double.valueOf(args[1]).doubleValue();
         System.out.println("The second number is: "+args[2]);
         double d2=Double.valueOf(args[2]).doubleValue();
         System.out.print("The sum is: "+addServerIntf.add(d1,d2));
         }catch(Exception e){
         System.out.println("Exception: "+e);
    And I compiled these files,so I got 4 class files(AddServer.class,AddServerIntf.class,AddServerImpl.class,AddServerClient.class).Then I use "rmic AddServerImpl" got another two files(AddServerImpl_Skel.class and AddServerImpl_Stub.class).Then I input command:rmiregistry,in another window,I input command:java AddServer,I got some exceptions,I was confused by these exceptions.The exception is:
    D:\MyJava\rmi_3>java AddServer
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: AddServerImpl_Stub
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: AddServerImpl_Stub
    java.lang.ClassNotFoundException: AddServerImpl_Stub
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
    at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
    at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
    at java.rmi.Naming.rebind(Unknown Source)
    at AddServer.main(AddServer.java:8)
    But some times this exception will not appeared.Who can give me answer or suggestion,thanks a lot.
    By the way,when I run shutdown.bat in tomcat_root\bin,I can get some exceptions:
    C:\Tomcat\bin>shutdown
    Using CATALINA_BASE: ..
    Using CATALINA_HOME: ..
    Using CATALINA_TMPDIR: ..\temp
    Using JAVA_HOME: C:\JDK
    Catalina.stop: java.net.ConnectException: Connection refused: connect
    java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:350)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:137)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:124)
    at java.net.Socket.<init>(Socket.java:268)
    at java.net.Socket.<init>(Socket.java:95)
    at org.apache.catalina.startup.Catalina.stop(Catalina.java:579)
    at org.apache.catalina.startup.Catalina.execute(Catalina.java:402)
    at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
    at java.lang.reflect.Method.invoke(Native Method)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
    I use Windows server 2000+JDK 1.3.1_04+tomcat 4.1.7

    Maybe I am off base here but it seems to me the problem is the way in which you bind your server. The server must be bound to the same address and you are looking up from, i.e. "rmi://" host "/AddServer"
    so
    Naming.rebind("AddServer",addServerImpl);should be
    Naming.rebind("rmi://127.0.0.1/AddServer", addServerImpl);to match
    String addServerURL="rmi://"+args[0]+"/AddServer";
    AddServerIntf addServerIntf=(AddServerIntf)
    Naming.lookup(addServerURL);Hopefully this will solve your problem, if not it is a problem with your classpath. An easy way to make sure it can see your files is to set the java.rmi.server.codebase to point to where your classes are, e.g.
    java -Djava.rmi.server.codebase=file:"c:\\cygwin\\home\\tweak\\keck_folder\\cmsi401\\RMIGalaxySleuth\\classes\\" AddServer
    I had to set the codebas for my rmi stuff to work no matter how much I messed with the classpath.
    Hope this helps,
    Will

  • Puzzled about filters for phones.

    I am very puzzled about the filters for the phones.   I have three cordless phones so made sure I had three filters to use with my phones for the broadband.
    I put one filter on the incoming phone line with the cordless with the ansaphone ..... and then plugged the other two cordless into the electric supply and realised I couldn;t put a filter on them .... so was stumped.   But the broadband is staying connected when calls are being answered.    
    I thought I had to have a filter on each phone being used.    Sorry if its a bit garbled... but I'm trying to explain it the best way I can.
    Di
    Solved!
    Go to Solution.

    very simple really as they are cordless phones and as they operate wirelessly only the main phone unit is connected to the phone line the other two phones do not need filters
    If you want to say thanks for a helpful answer,please click on the Ratings star on the left-hand side If the reply answers your question then please mark as ’Mark as Accepted Solution’

  • I'm puzzled about ldd and "/usr/lib/../lib"

    I'm building my own custom linux distro, and I'm puzzled about why 'ldd /usr/bin/gobject-query' shows "libffi.so.6 => /usr/lib/../lib/libffi.so.6" instead of "libffi.so.6 => /usr/lib/libffi.so.6". Archlinux is the host system for building base packages to set up chroot and rebuild them again inside. When building glib2 outside chroot I get "libffi.so.6 => /usr/lib/libffi.so.6". Building it inside chroot ldd shows "libffi.so.6 => /usr/lib/../lib/libffi.so.6". I know that it's harmless and only a cosmetic issue, but I want to know why there is two dots and how to fix this somehow.. Anyone expert on this matter?
    Last edited by ahcaliskan (2015-05-14 04:27:43)

    What's in your /etc/ld.so.conf ?
    Here's mine (Gentoo):
    # ld.so.conf autogenerated by env-update; make all changes to
    # contents of /etc/env.d directory
    /lib64
    /usr/lib64
    /usr/local/lib64
    /lib
    /usr/lib
    /usr/local/lib
    include ld.so.conf.d/*.conf
    Arch:
    # /etc/ld.so.conf
    include /etc/ld.so.conf.d/*.conf
    # End of file
    As you can see, Gentoo's ld.so.conf is more interesting. Running "ldd /bin/bash" outputs:
    linux-vdso.so.1 (0x00007ffeac4ea000)
    libreadline.so.6 => /lib64/libreadline.so.6 (0x00007f118f80b000)
    libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f118f5ac000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f118f1ff000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f118fa5d000)

  • Some basic questions about rmi registry  context  "bind" and "lookup"

    We have more processing to do than can be accomplished with a single computer. To solve the problem I've implemented a distributed computing solution using RMI. (The first time I saw RMI was about 2 weeks ago, so please bear with me!)
    The implementation is a proof of concept not a fully fleshed out system. I have one "Workunit Distributor" computer and any number of "Data Processor" computers all on the same lan segment. "Workunit Distributor" and "Data Processor" computers are both RMI client and server to each other. The "Data Processor" computers are given the ip address and name of the "Data Distributor" on the commandline when they start. They communicate their willingness to receive and process a workunit to the ""Workunit Distributor" via a RMI call. Work units are sent to available "DataProcessors" and results are eventually returned to the "WorkunitDistributor" (minutes or hours later). The model program works quite well, and appears to be capable of doing the processing we need to get done.
    But now that it seems viable, I've been asked to make it a little more scalable, flexible and self configuring. In particular, instead of one "Workunit Distributor", any number of "Workunit Distributors" should be allowed to show up or disappear from the lan at any time and the system should continue to function. I've worked out a good scheme for how this can be done, but I have a couple of questions about the RMI registry (registries?). I'm trying to keep from implementing some functionality that may already be available as a library or subsystem.
    With my current model design, each computer binds to its own registry with a unique name. For instance:
    CRDataProcessorImpl crdpi = new CRDataProcessorImpl(svr);
    Context crDataProcessingContext = new InitialContext();
    crDataProcessingContext.bind("rmi:"+hostName, crdpi);
    Currently the "Data Processors" get the info they need for a Context lookup() of the one and only "Workunit Distributor" from the commandline. And the info the "Workunit Distributor" needs to do a Context lookup() of a "DataProcessor" is passed to it from each "DataProcessor" via a RMI call.
    But in the newer (yet to be implemented) scheme where any and all "Workunit Distributors" show up and disappear whenever they feel like, the naming bootstrapping scheme described above won't work.
    I can imagine a few ways of solving this problem. For instance, having "Workunit Distributors" multicast their contact information on the lan and have a worker thread on each "Data Processor" keep track of the naming information that was multicast. Another alternative (more organized, but more complex) might be to have a dedicated host with a "well known" address and port that "Workunit Distributors" and "Data Processors" could all go to, to register or look up at an application level. Sort of a "domain name service" for RMI. But both these schemes look like a lot of work to implement , debug and maintain.
    The BEST thing would be if there was one plain vanilla RMI registry that was usable by all RMI enabled computers instead of having each computer have its own local name registry. In volume 2 of the Core Java2 book it says that every registry must be local. I'm only hoping there's been progress since the book was published and now a central rmi registry is available.
    If you have any ideas about this I'd like to hear what you know.
    Thanks in advance for any advice.
    Lenny Wintfeld
    ps - I don't believe web services, as full featured as it is, is a useful alternative. I'm moving 100's (in the future possibly 1000's) of megabytes back an forth for processing.

    The local bind/rebind/unbind restriction is still there and it will always be there.
    I would look at
    (a) RMI/IIOP, where you use COSNaming as a registry, which doesn't have that registriction, and which also has location-independent object identifiers
    (b) Jini.

  • General Question about RMI

    Okay here is what I am trying to do:
    I work for a small consulting firm and part of what we do is we process a tremendous amount of data using a suite of tools written in C/C++. We have a Java application which is really just a script (Written in standard Java) that makes a whole bunch of system calls, namely the commands in the suite of tools written in C. What we want to do is, is over our network, farm some of these system calls (or maybe even just CPU cycles) to multiple machines with the same suite of tools on them. Is this possible/plausible using RMI? Is there something that would be better for it? We have plenty of bandwidth across our network and most of the data is stored on a 15+ TB SAN.
    Also any books on the subject that you could recommend would be very helpful as well :)
    Any help would be very much appreciated.

    ofcourse passing over socket is always an option. Sure in that case you will have to serialize the object yourself or make a mini-protocol of some kind.
    In our project we also use XML to pass object between C++ and Java world, instead of using CORBA.

  • Puzzled About New Options

    According to iTunes Help, the latest update allows one to sort by the artist's last name instead of first. Yet it's description of how it's done sounds like the original way of manually typing, or cutting and pasting the information in the "Get Info" box. This is very laborious when you have hundreds of names to deal with. If I've misread this, can someone put me straight?
    Also, what are the new options and sorting options about? For example: "Album by Artist" and the various "Sort by" options.
    Dell   Windows XP  
    Dell   Windows XP  

    Thank you for that answer.
    You're welcome.
    Did you have to work it out yourself? I couldn't find this in iTunes Help.
    This seems to be one of those instances where Apple doesn't always document new features that are introduced in iTunes upgrades.
    As for how I found out about it, I wish I could say I worked it out myself but for the most part it's something I learnt in this thread . That's one of the side benefits of spending a fair bit of time on these boards - I have a lot of opportunities to learn things.
    I imagine that this has to be done every time a CD is copied into iTunes.
    I'm not sure. After you select the Apply Sort Field option for a given entry, I don't know whether or not iTunes will apply it to future additions of the same artist to your Library. If you want to check it out, be sure to let us know. Like I said before, that's how we learn things here.
    Can you tell me what the "Album by Artist" column is for?
    Its main use is when the you're viewing your entire Library. If you have a record with tracks by a number of different artists, the Album by Artist sort will keep that album together unlike an Artist sort which will break it up ... unless of course you've set up the Apply Sort Field option.
    The Album by Artist column has been around longer than the Sort Field entry and, as far as I can tell, there does seem to be some overlap in what the two of them accomplish ... although the newer Sort Field certainly gives you much more flexibility in organizing your Library than Album by Artist does.
    Also can an artists catalogue be sorted chronologically, rather than alphabetically?
    Have you tried the Album by Year sort? Click on Album by Artist column heading and it will change to Album by Year. Is that what you're aiming for? If not post back and explain what you want to achieve.

  • Puzzled about this kernel panic

    I got this while using an external DJ controller (Traktor S2) last night.  I'm very good about keeping the software and drivers up to date (last update was this month):
    Interval Since Last Panic Report:  749485 sec
    Panics Since Last Report:          1
    Anonymous UUID:                    658E320C-7858-090A-3133-F00AE89970CE
    Sat Aug  3 21:35:50 2013
    panic(cpu 1 caller 0xffffff80076b8655): Kernel trap at 0xffffff800767747e, type 13=general protection, registers:
    CR0: 0x000000008001003b, CR2: 0x0000000102627ff8, CR3: 0x0000000058efb028, CR4: 0x00000000000206e0
    RAX: 0x65ffff800ee2ea68, RBX: 0x0000000000000000, RCX: 0x00000000091f0000, RDX: 0xffffff8007cbdac0
    RSP: 0xffffff80f841bbc0, RBP: 0xffffff80f841bc10, RSI: 0x0000000000000000, RDI: 0xffffff8007cbdac0
    R8:  0xfffffffffffff000, R9:  0xffffff801af73a58, R10: 0x000000001564c000, R11: 0x0000000000000200
    R12: 0x65ffff800ee2ea68, R13: 0x0000000000000080, R14: 0x0000000000000000, R15: 0x0000000000000000
    RFL: 0x0000000000010292, RIP: 0xffffff800767747e, CS:  0x0000000000000008, SS:  0x0000000000000010
    Fault CR2: 0x0000000102627ff8, Error code: 0x0000000000000000, Fault CPU: 0x1
    Backtrace (CPU 1), Frame : Return Address
    0xffffff80f841b860 : 0xffffff800761d626
    0xffffff80f841b8d0 : 0xffffff80076b8655
    0xffffff80f841baa0 : 0xffffff80076ce17d
    0xffffff80f841bac0 : 0xffffff800767747e
    0xffffff80f841bc10 : 0xffffff800767c637
    0xffffff80f841bc40 : 0xffffff8007676524
    0xffffff80f841bc70 : 0xffffff80076759b0
    0xffffff80f841bcb0 : 0xffffff800766737c
    0xffffff80f841bda0 : 0xffffff800766b0e0
    0xffffff80f841bdd0 : 0xffffff8007635d03
    0xffffff80f841be10 : 0xffffff80079566d7
    0xffffff80f841be80 : 0xffffff8007968907
    0xffffff80f841bf10 : 0xffffff8007968d97
    0xffffff80f841bf50 : 0xffffff800761b6e1
    0xffffff80f841bf90 : 0xffffff80076b8c63
    0xffffff80f841bfb0 : 0xffffff80076ce14c
    BSD process name corresponding to current thread: Traktor
    Mac OS version:
    12E55
    Kernel version:
    Darwin Kernel Version 12.4.0: Wed May  1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64
    Kernel UUID: 896CB1E3-AB79-3DF1-B595-549DFFDF3D36
    Kernel slide:     0x0000000007400000
    Kernel text base: 0xffffff8007600000
    System model name: MacBookPro6,2 (Mac-F22586C8)
    System uptime in nanoseconds: 42537471594008
    last loaded kext at 36569802976360: com.apple.iokit.IOUSBAttachedSCSI          1.0.3 (addr 0xffffff7f89a88000, size 49152)
    last unloaded kext at 36631974621319: com.apple.driver.AppleUSBCDC          4.1.23 (addr 0xffffff7f89a85000, size 12288)
    loaded kexts:
    com.serato.usb.kext          2.3.0
    com.rim.driver.BlackBerryUSBDriverInt          0.0.68
    com.apple.iokit.IOUSBAttachedSCSI          1.0.3
    com.apple.filesystems.ntfs          3.10
    com.apple.filesystems.smbfs          1.8.4
    com.apple.driver.AudioAUUC          1.60
    com.apple.driver.AppleHWSensor          1.9.5d0
    com.apple.filesystems.autofs          3.0
    com.apple.iokit.IOBluetoothSerialManager          4.1.4f2
    com.apple.driver.AGPM          100.12.87
    com.apple.driver.AppleMikeyHIDDriver          122
    com.apple.driver.AppleHDA          2.3.7fc4
    com.apple.iokit.IOUserEthernet          1.0.0d1
    com.apple.Dont_Steal_Mac_OS_X          7.0.0
    com.apple.driver.AppleMikeyDriver          2.3.7fc4
    com.apple.driver.AppleIntelHDGraphics          8.1.2
    com.apple.driver.AppleIntelHDGraphicsFB          8.1.2
    com.apple.GeForce          8.1.2
    com.apple.driver.AppleUpstreamUserClient          3.5.10
    com.apple.driver.AppleMCCSControl          1.1.11
    com.apple.iokit.BroadcomBluetoothHCIControllerUSBTransport          4.1.4f2
    com.apple.driver.AppleSMCPDRC          1.0.0
    com.apple.driver.AppleSMCLMU          2.0.3d0
    com.apple.driver.AppleLPC          1.6.0
    com.apple.driver.AppleMuxControl          3.4.5
    com.apple.driver.ApplePolicyControl          3.4.5
    com.apple.driver.ACPI_SMC_PlatformPlugin          1.0.0
    com.apple.driver.SMCMotionSensor          3.0.3d1
    com.apple.driver.AppleUSBTCButtons          237.1
    com.apple.driver.AppleUSBTCKeyboard          237.1
    com.apple.driver.AppleIRController          320.15
    com.apple.driver.AppleUSBCardReader          3.1.7
    com.apple.AppleFSCompression.AppleFSCompressionTypeDataless          1.0.0d1
    com.apple.AppleFSCompression.AppleFSCompressionTypeZlib          1.0.0d1
    com.apple.BootCache          34
    com.apple.iokit.SCSITaskUserClient          3.5.5
    com.apple.driver.XsanFilter          404
    com.apple.iokit.IOAHCIBlockStorage          2.3.1
    com.apple.driver.AppleUSBHub          5.5.5
    com.apple.driver.AirPort.Brcm4331          615.20.17
    com.apple.driver.AppleFWOHCI          4.9.6
    com.apple.driver.AppleAHCIPort          2.5.2
    com.apple.iokit.AppleBCM5701Ethernet          3.6.1b4
    com.apple.driver.AppleUSBEHCI          5.5.0
    com.apple.driver.AppleEFINVRAM          1.7
    com.apple.driver.AppleSmartBatteryManager          161.0.0
    com.apple.driver.AppleACPIButtons          1.7
    com.apple.driver.AppleRTC          1.5
    com.apple.driver.AppleHPET          1.8
    com.apple.driver.AppleSMBIOS          1.9
    com.apple.driver.AppleACPIEC          1.7
    com.apple.driver.AppleAPIC          1.6
    com.apple.driver.AppleIntelCPUPowerManagementClient          196.0.0
    com.apple.nke.applicationfirewall          4.0.39
    com.apple.security.quarantine          2.1
    com.apple.driver.AppleIntelCPUPowerManagement          196.0.0
    com.apple.driver.AppleUSBAudio          2.9.0f8
    com.apple.kext.triggers          1.0
    com.apple.iokit.IOSerialFamily          10.0.6
    com.apple.driver.DspFuncLib          2.3.7fc4
    com.apple.iokit.IOAudioFamily          1.8.9fc11
    com.apple.kext.OSvKernDSPLib          1.6
    com.apple.iokit.IOSurface          86.0.4
    com.apple.iokit.IOBluetoothFamily          4.1.4f2
    com.apple.nvidia.nv50hal          8.1.2
    com.apple.driver.AppleSMBusController          1.0.11d0
    com.apple.NVDAResman          8.1.2
    com.apple.iokit.AppleBluetoothHCIControllerUSBTransport          4.1.4f2
    com.apple.driver.AppleHDAController          2.3.7fc4
    com.apple.iokit.IOHDAFamily          2.3.7fc4
    com.apple.iokit.IOFireWireIP          2.2.5
    com.apple.driver.AppleSMBusPCI          1.0.11d0
    com.apple.driver.AppleBacklightExpert          1.0.4
    com.apple.driver.AppleGraphicsControl          3.4.5
    com.apple.driver.IOPlatformPluginLegacy          1.0.0
    com.apple.driver.IOPlatformPluginFamily          5.3.0d51
    com.apple.iokit.IONDRVSupport          2.3.7
    com.apple.iokit.IOGraphicsFamily          2.3.7
    com.apple.driver.AppleSMC          3.1.4d2
    com.apple.driver.AppleUSBMultitouch          237.3
    com.apple.iokit.IOUSBHIDDriver          5.2.5
    com.apple.driver.AppleUSBMergeNub          5.5.5
    com.apple.iokit.IOSCSIMultimediaCommandsDevice          3.5.5
    com.apple.iokit.IOBDStorageFamily          1.7
    com.apple.iokit.IODVDStorageFamily          1.7.1
    com.apple.iokit.IOCDStorageFamily          1.7.1
    com.apple.iokit.IOAHCISerialATAPI          2.5.1
    com.apple.iokit.IOUSBUserClient          5.5.5
    com.apple.iokit.IO80211Family          530.4
    com.apple.iokit.IOFireWireFamily          4.5.5
    com.apple.iokit.IOAHCIFamily          2.3.1
    com.apple.iokit.IOEthernetAVBController          1.0.2b1
    com.apple.iokit.IONetworkingFamily          3.0
    com.apple.driver.AppleEFIRuntime          1.7
    com.apple.iokit.IOHIDFamily          1.8.1
    com.apple.iokit.IOSMBusFamily          1.1
    com.apple.security.sandbox          220.3
    com.apple.kext.AppleMatch          1.0.0d1
    com.apple.security.TMSafetyNet          7
    com.apple.driver.DiskImages          345
    com.apple.driver.AppleKeyStore          28.21
    com.apple.iokit.IOUSBMassStorageClass          3.5.1
    com.apple.driver.AppleUSBComposite          5.2.5
    com.apple.iokit.IOSCSIBlockCommandsDevice          3.5.5
    com.apple.iokit.IOStorageFamily          1.8
    com.apple.iokit.IOSCSIArchitectureModelFamily          3.5.5
    com.apple.iokit.IOUSBFamily          5.6.0
    com.apple.driver.AppleACPIPlatform          1.7
    com.apple.iokit.IOPCIFamily          2.7.3
    com.apple.iokit.IOACPIFamily          1.4
    com.apple.kec.corecrypto          1.0
    System Profile:
    Model: MacBookPro6,2, BootROM MBP61.0057.B0F, 2 processors, Intel Core i5, 2.4 GHz, 8 GB, SMC 1.58f17
    Graphics: Intel HD Graphics, Intel HD Graphics, Built-In, 288 MB
    Graphics: NVIDIA GeForce GT 330M, NVIDIA GeForce GT 330M, PCIe, 256 MB
    Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1067 MHz, 0x857F, 0x483634353155363446373036364700000000
    Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1067 MHz, 0x857F, 0x483634353155363446373036364700000000
    AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x93), Broadcom BCM43xx 1.0 (5.106.98.100.17)
    Bluetooth: Version 4.1.4f2 12041, 2 service, 11 devices, 1 incoming serial ports
    Network Service: AirPort, AirPort, en1
    Serial ATA Device: SAMSUNG SSD 830 Series, 256.06 GB
    Serial ATA Device: MATSHITADVD-R   UJ-898
    USB Device: hub_device, 0x0424  (SMSC), 0x2514, 0xfa100000 / 2
    USB Device: Internal Memory Card Reader, apple_vendor_id, 0x8403, 0xfa130000 / 5
    USB Device: Apple Internal Keyboard / Trackpad, apple_vendor_id, 0x0236, 0xfa120000 / 4
    USB Device: BRCM2070 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0xfa110000 / 3
    USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x8218, 0xfa113000 / 8
    USB Device: hub_device, 0x0424  (SMSC), 0x2514, 0xfd100000 / 2
    USB Device: Built-in iSight, apple_vendor_id, 0x8507, 0xfd110000 / 4
    USB Device: IR Receiver, apple_vendor_id, 0x8242, 0xfd120000 / 3

    Two third-party kernel modifications are installed, the Serato driver and "Blackberry Desktop Manager." There will be less chance of a panic if you uninstall the latter according to the developer's instructions, at least when you plan on using the machine to DJ.

  • About Rmi

    i m doing a project on "Loosely coupled architecture".It means 2 applications working independent of each other.
    But they can notify changes to other applications if required using xml files.
    Suppose 1st appl can send name,rno,class,div
    2nd appl wants only name and rno
    we have a broker in between them
    broker has info abt all the appl,and ioaddress of the machine where the appl is running.
    now 1st appl sends the xml file to broker .
    Broker will make another xml file according to the fields required by 2nd appl
    and transfer that file to that 2nd appl.
    previously i hav written the code to transfer the files using socket programming.
    but we did not think abt broker at that time.we just transfered file frm 1 appl to another.
    now my prob is where to place the broker.as it shd not depend on any appl to keep running.even if 1 appl is down it shd b running so that other appl can use broker.
    and if i use rmi is a proper way to do that?
    can i transfer the file using rmi so that i wnt use socket programming then.

    A book can. The O'Reilly book is very good. The Java Tutorial is a good place to start. The Horstman and Cornell Core Java series has a good section.
    I can write a book or do private tutoring for $150/hr., but I get to keep the royalties. Overall, you'll save more money and learn more by bothering to read.

  • Need opinions about RMI tunneling over HTTP please

    My Tomcat Server wants to talk with a JBoss Server.
    This communication has to go through a firewall, and I want to use
    the HTTP tunneling function.
    Can anybody please tell me if the HTTP tunnel has any disadvantages?
    How big is the performanceloss?
    Can anybody please give me a link how to do this? What configurations
    do I have to do where?
    Thanks!

    you do not have to do anything special for this, if you do not want to.
    All yours questions are answered here :
    http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmi-arch6.html

  • Puzzled about what *taste* has to do with screen calibration.

    I want to calibrate my screen so that when I edit pictures they will have the best chance at looking the same to others on other screens as they do to me, and will look as closely as possible on screen as they might on paper if I choose to print them.
    In that case, I don't understand why discussions about calibration involve steps where something is adjusted to taste. In particular, if I calibrate with the Huey pro, at the end of the exercise, it asks me to choose the gamma and color temperature to suit my preference. But if I change the gamma, the picture changes in appearance, without changing any actual values in the picture settings. Doesn't this mean that I'm changing the appearance *to me* without affecting its appearance for anyone else. Doesn't that defeat the whole purpose of calibration. Please enlighten me.

    The resultant for anything visual is the human eye which varies from person to person so preference and taste become factors.

  • Puzzled about Customer Exits

    Hi everyone,
    I'm trying to get into the field of customer exit coding to enhance reporting capabilities. Now from what I've learned, the way to go is via one of the SAPLRRS0 exits and do the actual coding in includes like ZXRSRU01, which should be located in the customer namespace (since it's a 'Z', as I understand) and hence be modifiable. Still, if I try to edit the file, SAP asks for a developer key, but I thought this was the whole point about customer exits (and what sets them apart from user exits): Since you're not tampering with the original system, there would be no need for a developer key
    I have also checked in SE03 if the customer namespace is modifiable (from what I can tell it is).

    Hi Tilman Budde ,
    Keys are required at 2 levels .
    1. When you try to modify existing sap object ... This is called as object key.
    2. When you try to modify existing sap object ..This is called as developer access key ..Unless your user id have this (developer key) ..even if you have object key you will not be able to modify abap workbench objects..
    Hope that helps.
    Regards
    Kapadia
    ***Assigning points is the way to say thanks in SDN.***

  • Help me about RMI

    i created all classes, inferfaces in client and server. But i compile these by use RMIC
    rmic myclass
    i get result a file :
    myclass_stub.class
    i don't see file :
    myclass_skel.class
    i hope the expert help me...
    Thanks!!

    but if you want it anyway for some reason (as said,
    modern JVMs don't need it and will silently ignore it
    if present), add the -v1.1 option to rmic.This is not quite right.
    (a) If you specify -v1.1, JVMs will not ignore it silently and in fact they will need it.
    (b) If you specify -vcompat you will get a skeleton which, in a server >= JDK 1.2, will be loaded if present but won't be treated as required, unless the client is using JDK 1.1.
    EJP

  • Puzzled about fonts

    In a listing of these fonts one is white and not orange like the others.
    When I click (high light) on the orange fonts they get an orange dot.
    When I click (high light) on the white font the orange dot does not appear.
    All the fonts display perfect on the screen and on the printed page.
    Does anyone know why this one font is white and why it doesn't shoe the orange dot when clicked (high lighted)?
    Thanks
    http://i34.tinypic.com/1o7l01.jpg
    http://tinypic.com/view.php?pic=1o7l01&s=4

    Have you done a Command-I on the font and checked to see if an orange label has been applied to the font? Sounds like that may be the case...

Maybe you are looking for

  • Item Category not Defined Error message when deleting a batch item in Deliv

    Hi, I am trying with a Intercompany transfer . So after creating Interco. Transfer we have followed with a delivery document. Now,we would like to delete the delivery document. For your info. Del. doc is still open. We haven't gone for Goods issue or

  • Old computer crashed can i get my songs on the new one with out buying them

    my old computer's mother board went out and it wont turn on now, so i was wondering if there is anyway to get my old itunes songs on the new computer with out having to buy them all over i havn't tryed anything yet so i was just wondering if anyone h

  • No variables in t:column header facets!

    The header will be blank if I do the following <t:dataTable id="projectsDataTable" var="project" value="#{projectBacker.projects}">      <t:column id="projectNameColumn">           <f:facet name="header"><h:outputText value="#{project.status}"/></f:f

  • Store drawings in an object

    Hi Could any one please tell me how to store a drawing in an object? I wanna store g.drawLine(p1.x, p1.y, p2.x, p2.y); in an object (like a JPanel or a JLabel whichever is possible) Can anyone please help? Thanks [ [b]N.B. - The same post is also on

  • Screen/Display error

    I bought the BlacBerry z3 on 22 November 2014 & in less than 5hrs of use,the screen just went dim and only visible when facing the sun, I wiped it and it started working fine after that,now it keeps doing that when I play music then I have to reboot