Auto start RMI registry

Hi All
I have a very big problem and i am not sure how to resolve it, hope some one can give me some advice. Ok here is my problem, i have the following
-Server 1
-Software product A
-Java application A
-Server 2
-Software product B
-Java application B
Both servers are windows servers.
Software product A runs as a windows service, at some point it will obtain an input file, it then does a command execution to start Java application A. Java application A processes the input file(extracting info into a DB) and copies it to server 2, when it is done it exits and software application A does another command execution to start Java application B. Java application B then calls software product B, software product B takes the input file and produces output files(pdf, html), once it is complete java application B takes these output files and moves them to different locations on the network.
This process is complicated due to the software products and how they work, the problem with this method is that when software product A calls java application B the java application runs on Server 1 and not on server 2 where it is installed and because java application B calles software product B this also runs on server 1.
I need software product B and java application B to run on server 2, the only way that i can see this happening is to either write a socket program or use RMI and letting java application 1 call java application 2(hence making application 2 a server and application 1 being the client) with either of the mentioned solutions. If any one has any less complicated method to achieve this please let me know. Now my question regarding the RMI route would be how to make sure the RMIREGISTRY is started automatically as well as load the server(java application 2) when the windows server restarts.
If any one can shed some lite on this i would be very great full.

LocateRegistry.createRegistry()

Similar Messages

  • Starting RMI registry in LINUX

    HI I am new to LINUX and want to use RMI in java.
    So anyone suggest me how to start rmiregistry in linux for the server.

    hi genedy .
    thnx for ur reply.
    I already have jdk 2 beta 1.6 rpm.
    I have downloded fisrmi.linux ,fisrmistart and i am able to start rmiregistry but it doesn't stops i have to kill the process.
    I am also starting by using the rmiregistry command.
    when I start my server application the it gives error of "connection refused,unmarshall exception etc" and doesn't works.
    so suggest me how should I run my server and client.

  • RMI Registry Workaround

    Hi,
    I don't want to start RMI registry for my server in different window. How can i bind my remote object without starting RMI Registry externally. I think it can be done , but how i don't know.
    Please help
    Ritesh Alagh

    Read the APIs...
    http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/registry/LocateRegistry.html

  • How does one start the RMI registry in VisualAge?

    To start the RMI registry in a DOS session, one can type rmiregistry. How can I do this in VisualAge for Java?

    In VAJ 3.5 you do: window (from top menu) -> options... -> RMI Registry -> Restart RMI Registry

  • Has the RMI registry properly started?

    I removed all the package statements from the ComputePi example in the java.sun.com rmi tutorial. I compiled all the classes in one folder and also generated the stub and skeleton. Then I said start rmiregistry. Another Dos window briefly appears and vanishes. Then I said java ComputeEngine. Connection refused to host. Nested ecxeption is java.net.ConnectException.... Can anyone tell me what the problem could be. I am not getting any confirmation that the rmi registry started properly. I am using windows 2000 professional.

    Is there a registered process in the Windows task-manager that looks like the registry??

  • RMI Registry as a service.

    I have found evidence that supports the possibility of rmiregistry.exe running as a service on windows, but I have not found any "How-To" for it. I wrote a batch file to run the command:
    sc create "RMI Registry" binpath= "c:\Program Files\Java\jdk1.6.0_03\jre\bin\rmiregistry.exe" displayname= "RMI Registry" start= "auto"
    However, when I attempt to start the service, I get the message:
    ERROR 1053: The service did not respond to the start or control request in a timely fashion.
    Where did I go wrong or is it just not possible?

    Do some searching in this forum and you may find some more leads. Also: try hard to google for it.
    The registry exe simply does not have the interfacing required to act as a service.
    So what most people do is try to write or obtain a service wrapper that can talk to/be controlled by the service manager, and which can also run the registry exe as another process.

  • RMI registry weirdness, API versioning, and more

    Hi folks,
         I have some RMI questions. I'd like to start by giving background on the software and our intentions with RMI.
         Our software is a molecular biology analysis and simulation tool. Since the technology is very proprietary, we've used RMI to split the Java software into a front-end GUI client that that's distributed to users and a back-end server that makes use of our in-house C++ tools.
         At the moment our user base is small, mostly a handful of academic researchers, but even with these few releases are getting difficult to manage. The problem, of course, is that when the server back-end is upgraded, if any serializable or remotable APIs are changed, the user must also upgrade their client. Our users have made it clear that this is an unacceptable inconvenience, and since we frequently push new feature-filled releases, its difficult to keep the APIs stable. Additionally, 40% of the original code base is absolute tripe, the inflexible, ill-thought, and monolithic work of a contractor who was at at deadline and had to 'just get the job done'. With only two developers (one of them part-time), we are forced to rewrite portions of this old code in small spurts as most of our time is taken up either adding features or working on the C++ tools. In short, there's simply no way we can stabilize our APIs at this time.
         My first (perhaps naive) solution was simple: the client/server pair are built with a common API version number that is incremented each time the API of a serializable or remotable API must be changed for a new release. This version number is appended to the RMI URI for the server. For example, when using API version 13, if the back-end service is told to listen on the following URI:
         //remote.mycompany.com/myobject
    ...the back-end would implicitly bind to...
         //remote.mycompany.com/myobject-13
         Since the client and server are built with the same API version, the client knows to append -13 to whatever URI the user specifies to connect to a back-end with a compatible API. This lets the user think they're connecting to the 'usual' URI, but allows us to run servers with varying APIs concurrently on the same physical machine, thus our users can upgrade at their leisure and we can push new releases whenever we please.
         I prefer this solution because its very non-intrusive code-wise and allows us developers complete freedom, but it seems prone to subtle problems. We have three releases (hence three servers) and clients are able to function initially, but eventually they start reporting not-bound and class UID/checksum errors - exactly what this system is supposed to prevent. The three services appear to work when started initially but fail sporadically after some period of time. It seems to me that the RMI registry is getting confused when deciding which classes from which service should be sent to which client.
         I should note that rmiregistry requires us to pass in the path to our classes to its JVM (with -J) or it throws NoClassDefFoundError errors when a client connects to the back-end service (if memory serves, our logger is the offending class, so perhaps the registry is executing a static initializer that prints log messages or something). We only pass in the path to one set of classes right now (the oldest of our API revisions). I'm not sure if passing all three would help, but I don't see how it would, and I really don't have the time to experiment. Interestingly, this class path requirement only started happening a few weeks ago - previously rmiregistry didn't seem to care where our logging classes were. I'm not sure if this is contributing to the concurrency problem stated above, but if there's reasonable suspicion I'm more than happy to figure out why this is happening. Also, I remember reading on some web site that setting the rmiregistry class path with -J could cause other strange problems relating to RMI stubs, so could this be a likely suspect? I wish I was more familiar with the guts of RMI as to know what's going on in the registry. Should I be seeing such problems when binding multiple versions of the same class instance?
         I suppose I'd really like, aside from the informed opinions and suggestions of experienced Java programmers, is an architectural overview of the RMI implementation so I can answer these questions myself, but I haven't found anything in that vein. Ideally I'd like to look at the code for the RMI implementation. Is this possible? I'm not 'hip' to Sun's code sharing policies, what portions of their code base they open up if any. Can anyone offer any hints?
         We did come up with some other possible solutions for the API versioning problem. Dynamic class loading via HTTP in particular is my next best hope. Tentatively speaking, it seems that this would help minimize API breakage so long as modifications are limited to adding elements to the API and not removing them. It seems to me that allowing users to download classes at runtime would allow us developers more flexibility, even though users would be forced to upgrade every once in a while, albeit less frequently than they otherwise would.
         Also considered was a separate tool for automated management of the client software, i.e., an auto-update utility. I'd rather not go down this path; I think it would annoy our users, and our two-man development team is busy enough without worrying about more cruft.
         Any additional suggestions are welcome, as is any insight into the Sun's RMI implementation. Advice, links to documentation, "hey stupid, google for <somthing obvious>" would be appreciated.
    Cheers :-)
    -Nick

    or you could buy mine (http://www.rmiproxy.com/javarmi), but I'll give you three tips:
    (1) If possible don't change existing interfaces, just extend them, i.e. version them by extending them:
    public interface MyRemoteVersion1 extends Remote {}
    public inteface MyRemoteVersion2 extends MyRemoteVersion1 {}This way old clients can still use the old services even if they receive a newer stub.
    (2) Do the same with the implementations, and load & register both, with different names as ou are doing. Don't use the same class name for a new version otherwise you will confuse the class loader. Altneratively you could use different class loaders for teh different versions to keep them separate, but that's a large can of worms.
    (3) Ignore your feelings about the code base. It's installed out there and it's a product now, you just have to live with it unless you can instaneously upgrade all your clients, which you can't. You will probably always have a client running the original version for reasons entirely beyond your control.
    (4) Do use the codebase feature if you possibly can. Don't install anything at a client that it could get via a codebase, e.g. stubs. The only thing that clients should need is the remote interfaces and the the true client code.
    (5) Make sure every version of every marshalled class has the same setversionuid and make sure that this is there from the beginning. Make sure you only evolve these classes in ways which will be compatible under serialization - see the spec.
    Good luck
    EJP

  • Urgent Help Required For Starting RMI server from servlet.

    I am currently working on rmi project.
    I want to send request to remote machine(Web host) where my application is from desktop client .For that we are using RMI.
    I am writing servlet and inside it i am binding object to registry for rmi server.
    which will be deployed on remote server.
    code ....
    Registry reg;
    reg=LocateRegistry.createRegistry(1099);
    Server server=new Server("server");//class whose remote object to be accessed
    //extends unicast remote object.Implement ServerInt interface which extends Remote.
    reg.bind("server",server);
    When i am trying to access this object i am getting following exception.
    javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalExcepti
    on: error unmarshalling return; nested exception is:
            java.lang.ClassNotFoundException: ServerModule.ServerInt]
    at com.sun.jndi.rmi.registry.RegistryContext.lookup(Unknown Source)
    at com.sun.jndi.toolkit.url.GenericURLContext.lookup(Unknown Source)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at RequstReplication.main(RequstReplication.java:27)
    Caused by: java.rmi.UnmarshalException: error unmarshalling return; nested excep
    tion is:
    java.lang.ClassNotFoundException: ServerModule.ServerInt
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    ... 4 more
    Caused by: java.lang.ClassNotFoundException: ServerModule.ServerInt
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at sun.rmi.server.LoaderHandler.loadProxyInterfaces(Unknown Source)
    at sun.rmi.server.LoaderHandler.loadProxyClass(Unknown Source)
    at sun.rmi.server.LoaderHandler.loadProxyClass(Unknown Source)
    at java.rmi.server.RMIClassLoader$2.loadProxyClass(Unknown Source)
    at java.rmi.server.RMIClassLoader.loadProxyClass(Unknown Source)
    at sun.rmi.server.MarshalInputStream.resolveProxyClass(Unknown Source)
    at java.io.ObjectInputStream.readProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    ... 5 more
    I can access naming enumeration of registry and object bound to it.
    by following program.I shows corect objects.
    Context namingContext=new InitialContext();
    NamingEnumeration<NameClassPair> e=namingContext.list("rmi:");
    while(e.hasMore())
    System.out.println(e.next().getName());
    While when i start RMI server from simple java program i can access these objects from registry.
    I am not getting what is problem problem.Is there any other way to send request?
    Plese give quick response.

    I am currently working on rmi project.
    I want to send request to remote machine(Web host) where my application is from desktop client .For that we are using RMI.
    I am writing servlet and inside it i am binding object to registry for rmi server.
    which will be deployed on remote server.
    code ....
    Registry reg;
    reg=LocateRegistry.createRegistry(1099);
    Server server=new Server("server");//class whose remote object to be accessed
    //extends unicast remote object.Implement ServerInt interface which extends Remote.
    reg.bind("server",server);
    When i am trying to access this object i am getting following exception.
    javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalExcepti
    on: error unmarshalling return; nested exception is:
            java.lang.ClassNotFoundException: ServerModule.ServerInt]
    at com.sun.jndi.rmi.registry.RegistryContext.lookup(Unknown Source)
    at com.sun.jndi.toolkit.url.GenericURLContext.lookup(Unknown Source)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at RequstReplication.main(RequstReplication.java:27)
    Caused by: java.rmi.UnmarshalException: error unmarshalling return; nested excep
    tion is:
    java.lang.ClassNotFoundException: ServerModule.ServerInt
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    ... 4 more
    Caused by: java.lang.ClassNotFoundException: ServerModule.ServerInt
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at sun.rmi.server.LoaderHandler.loadProxyInterfaces(Unknown Source)
    at sun.rmi.server.LoaderHandler.loadProxyClass(Unknown Source)
    at sun.rmi.server.LoaderHandler.loadProxyClass(Unknown Source)
    at java.rmi.server.RMIClassLoader$2.loadProxyClass(Unknown Source)
    at java.rmi.server.RMIClassLoader.loadProxyClass(Unknown Source)
    at sun.rmi.server.MarshalInputStream.resolveProxyClass(Unknown Source)
    at java.io.ObjectInputStream.readProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    ... 5 more
    I can access naming enumeration of registry and object bound to it.
    by following program.I shows corect objects.
    Context namingContext=new InitialContext();
    NamingEnumeration<NameClassPair> e=namingContext.list("rmi:");
    while(e.hasMore())
    System.out.println(e.next().getName());
    While when i start RMI server from simple java program i can access these objects from registry.
    I am not getting what is problem problem.Is there any other way to send request?
    Plese give quick response.

  • Can anybody help me to understand this RMI registry service code?

    RMI is so difficult to me. please let me know following code what it means.
    If this class is instantiated with 50000 port number,
    Does RMI Registry Service get started with 50000 port number in place of rmiregistry commands?
    And I don't have to execute rmiregistry command?
    thanks in advance.
    import java.rmi.AccessException;
    import java.rmi.AlreadyBoundException;
    import java.rmi.NotBoundException;
    import java.rmi.Remote;
    import java.rmi.RemoteException;
    import java.rmi.registry.Registry;
    import java.rmi.server.ObjID;
    import java.rmi.server.RemoteServer;
    import java.util.Enumeration;
    import java.util.Hashtable;
    import sun.rmi.server.UnicastServerRef;
    import sun.rmi.transport.LiveRef;
    * Registry implementation.
    * @version 1.0
    public class RegistryImpl extends RemoteServer implements Registry {
         private static final long serialVersionUID = -7162736590129110751;
         private Hashtable bindings;
        private static ObjID id = new ObjID(0);
         * @param i port number
         * @throws RemoteException
        public RegistryImpl(int i) throws RemoteException {
            bindings = new Hashtable(101);
            LiveRef liveref = new LiveRef(id, i);
            setup(new UnicastServerRef(liveref));
        private void setup(UnicastServerRef unicastserverref) throws RemoteException {
            super.ref = unicastserverref;
            unicastserverref.exportObject(this, null, true);
         * Lookup a remote object.
         * @param name Name of the remote object.
         * @return Remote object of the specified name.
        public Remote lookup(String name) throws RemoteException, NotBoundException {
    //        Logger.debug("NamingService", "lookup: " + name);
            Remote obj;
            synchronized(bindings) {
                obj = (Remote)bindings.get(name);
                if(obj == null)
                    throw new NotBoundException(name);
            return obj;
         * Binds the specified name to a remote object.
         * @param name A URL-formatted name for the remote object.
         * @param obj A reference for the remote object (usually a stub).
        public void bind(String name, Remote obj) throws RemoteException, AlreadyBoundException, AccessException {
    //        Logger.debug("NamingService", "bind: " + name);
            checkAccess("Registry.bind");
            synchronized(bindings) {
                if(bindings.containsKey(name))
                    throw new AlreadyBoundException(name);
                bindings.put(name, obj);
         * Destroys the binding for the specified name that is associated with a remote object.
         * @param name A URL-formatted name for the remote object.
        public void unbind(String name) throws RemoteException, NotBoundException, AccessException {
    //        Logger.debug("NamingService", "unbind: " + name);
            checkAccess("Registry.unbind");
            synchronized(bindings) {
                if(!bindings.containsKey(name))
                    throw new NotBoundException(name);
                bindings.remove(name);
         * Rebinds the specified name to a new remote object. Any existing binding
         * for the name is replaced.
         * @param name A URL-formatted name for the remote object.
         * @param obj A reference for the remote object (usually a stub).
        public void rebind(String name, Remote obj) throws RemoteException, AccessException {
    //        Logger.debug("NamingService", "rebind: " + name);
            checkAccess("Registry.rebind");
            bindings.put(name, obj);
         * Returns an array of the names bound in the registry.
         * @return An array of the names bound in the registry.
        public String[] list() throws RemoteException {
            String[] names;
            synchronized(bindings) {
                int i = bindings.size();
                names = new String;
    Enumeration e = bindings.keys();
    while(--i >= 0)
    names[i] = (String)e.nextElement();
    return names;
    * TO-DO
    public static void checkAccess(String s) throws AccessException {
    // check if s is in the list of agents.
    if(true)
    else
    throw new AccessException("");
    public static ObjID getID() {
    return id;

    You don't have any need to understand this code. The complication is due to the registry needing a fixed objectID.
    You just need to know the methods of java.rmi.registry.LocateRegistry class. This allows you to start an RMI Registry inside your JVM and give it any TCP port number you like.

  • Virtual keyboard auto starts in Windows 8.1 Pro

    Even if the toolbar is turned off and the toolbar is locked, and under ease of use the checkbox is unchecked, this pesky icon keeps coming back. Is there a registry fix... users are complaining. thx!
    Jiggy Gaton, Trainer and Media Consultant for Nepal and S. Asia

    Hi,
    Please know that it’s powered by a windows service called Touch keyboard and handwriting 
    pane. Stopping this service will be in result of disabling the on-screen keyboard.
    Let’s try to disable the service related to the touch keyboard:
    1. Press Win+R, type “services.msc“, and press Enter to bring up Services window.
    2. Scroll down  a bit until locate the service called Touch keyboard …
    3. Double click it, first to stop it if it’s running, and then change the Startup type to either Manual or Disable to prevent it from auto-starting next time when computer starts.
    Hope these could be helpful.
    Kate Li
    TechNet Community Support

  • Skype/Pulse audio problem only if auto started

    Hi,
    I've an Arch/XFCE laptop including pulse audio and Skype (configured to use the pulse audio).
    Skype has been configured  (using XFCE startup menu) to auto start during boot ( we boot daily), and, till about 2 weeks ago, worked fine.
    Ever since, Skype starts but isn't functional (while trying to connect to the test service I can't hear anything, not even the dialing), and, after a few minutes, starts with a constant loud noise (which stops, once I quit Skype).
    Interesting, since the problem  has begun, once I do either of the following, Skype returns, and remains, to be fully functional without any noise:
    1. Quit the auto-started Skype, and immediately relaunch it.
    2. Cancel to Skype auto start, and manually start Skype after XFCE becomes visible.
    Looking at log files (below), I've seen some pulse audio related errors which I couldn't solve and may be related.
    I do a full system update (almost) daily.
    I'd be happy to return to the former state (functional auto-started Skype). Please advise
    Thanks
    ----------partial end of  journal------------------
    Jun 08 08:51:08 Ira-Lenovo lightdm[246]: ** (process:272): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
    Jun 08 08:51:08 Ira-Lenovo lightdm[272]: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
    Jun 08 08:51:08 Ira-Lenovo systemd[1]: Starting user-620.slice.
    Jun 08 08:51:08 Ira-Lenovo systemd[1]: Created slice user-620.slice.
    Jun 08 08:51:08 Ira-Lenovo systemd[1]: Starting User Manager for UID 620...
    Jun 08 08:51:08 Ira-Lenovo systemd[1]: Starting Session c1 of user lightdm.
    Jun 08 08:51:08 Ira-Lenovo systemd-logind[234]: New session c1 of user lightdm.
    Jun 08 08:51:08 Ira-Lenovo systemd[1]: Started Session c1 of user lightdm.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: pam_unix(systemd-user:session): session opened for user lightdm by (uid=0)
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Starting Paths.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Reached target Paths.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Starting Timers.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Reached target Timers.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Starting Sockets.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Reached target Sockets.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Starting Basic System.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Reached target Basic System.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Starting Default.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Reached target Default.
    Jun 08 08:51:08 Ira-Lenovo systemd[275]: Startup finished in 78ms.
    Jun 08 08:51:08 Ira-Lenovo systemd[1]: Started User Manager for UID 620.
    Jun 08 08:51:10 Ira-Lenovo org.a11y.Bus[284]: Activating service name='org.a11y.atspi.Registry'
    Jun 08 08:51:10 Ira-Lenovo org.a11y.Bus[284]: Successfully activated service 'org.a11y.atspi.Registry'
    Jun 08 08:51:10 Ira-Lenovo org.a11y.atspi.Registry[290]: SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry
    Jun 08 08:51:10 Ira-Lenovo org.a11y.atspi.Registry[290]: ** (at-spi2-registryd:293): WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
    Jun 08 08:51:10 Ira-Lenovo org.a11y.atspi.Registry[290]: ** (at-spi2-registryd:293): WARNING **: Unable to register client with session manager
    Jun 08 08:51:15 Ira-Lenovo lightdm[246]: ** (process:297): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
    Jun 08 08:51:15 Ira-Lenovo lightdm[272]: pam_unix(lightdm-greeter:session): session closed for user lightdm
    Jun 08 08:51:15 Ira-Lenovo lightdm[297]: pam_unix(lightdm:session): session opened for user ira by (uid=0)
    Jun 08 08:51:15 Ira-Lenovo systemd[1]: Starting user-1000.slice.
    Jun 08 08:51:15 Ira-Lenovo systemd[1]: Created slice user-1000.slice.
    Jun 08 08:51:15 Ira-Lenovo systemd[1]: Starting User Manager for UID 1000...
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: pam_unix(systemd-user:session): session opened for user ira by (uid=0)
    Jun 08 08:51:15 Ira-Lenovo systemd[1]: Starting Session c2 of user ira.
    Jun 08 08:51:15 Ira-Lenovo systemd-logind[234]: New session c2 of user ira.
    Jun 08 08:51:15 Ira-Lenovo systemd[1]: Started Session c2 of user ira.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Starting Paths.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Reached target Paths.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Starting Timers.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Reached target Timers.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Starting Sockets.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Reached target Sockets.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Starting Basic System.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Reached target Basic System.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Starting Default.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Reached target Default.
    Jun 08 08:51:15 Ira-Lenovo systemd[302]: Startup finished in 36ms.
    Jun 08 08:51:15 Ira-Lenovo systemd[1]: Started User Manager for UID 1000.
    Jun 08 08:51:18 Ira-Lenovo dbus[235]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service'
    Jun 08 08:51:18 Ira-Lenovo systemd[1]: Starting RealtimeKit Scheduling Policy Service...
    Jun 08 08:51:18 Ira-Lenovo dbus[235]: [system] Successfully activated service 'org.freedesktop.RealtimeKit1'
    Jun 08 08:51:18 Ira-Lenovo systemd[1]: Started RealtimeKit Scheduling Policy Service.
    Jun 08 08:51:18 Ira-Lenovo rtkit-daemon[329]: Successfully called chroot.
    Jun 08 08:51:18 Ira-Lenovo rtkit-daemon[329]: Successfully dropped privileges.
    Jun 08 08:51:18 Ira-Lenovo rtkit-daemon[329]: Successfully limited resources.
    Jun 08 08:51:18 Ira-Lenovo rtkit-daemon[329]: Running.
    Jun 08 08:51:18 Ira-Lenovo rtkit-daemon[329]: Watchdog thread running.
    Jun 08 08:51:18 Ira-Lenovo rtkit-daemon[329]: Canary thread running.
    Jun 08 08:51:18 Ira-Lenovo rtkit-daemon[329]: Successfully made thread 328 of process 328 (/usr/bin/pulseaudio) owned by '1000' high priority at nice level -11.
    Jun 08 08:51:18 Ira-Lenovo rtkit-daemon[329]: Supervising 1 threads of 1 processes of 1 users.
    Jun 08 08:51:19 Ira-Lenovo rtkit-daemon[329]: Supervising 1 threads of 1 processes of 1 users.
    Jun 08 08:51:19 Ira-Lenovo rtkit-daemon[329]: Successfully made thread 332 of process 328 (/usr/bin/pulseaudio) owned by '1000' RT at priority 5.
    Jun 08 08:51:19 Ira-Lenovo rtkit-daemon[329]: Supervising 2 threads of 1 processes of 1 users.
    Jun 08 08:51:19 Ira-Lenovo rtkit-daemon[329]: Supervising 2 threads of 1 processes of 1 users.
    Jun 08 08:51:19 Ira-Lenovo rtkit-daemon[329]: Successfully made thread 333 of process 328 (/usr/bin/pulseaudio) owned by '1000' RT at priority 5.
    Jun 08 08:51:19 Ira-Lenovo rtkit-daemon[329]: Supervising 3 threads of 1 processes of 1 users.
    Jun 08 08:51:19 Ira-Lenovo pulseaudio[328]: [pulseaudio] module-gconf.c: Unable to read or parse data from client.
    Jun 08 08:51:19 Ira-Lenovo pulseaudio[328]: [pulseaudio] module.c: Failed to load module "module-gconf" (argument: ""): initialization failed.
    Jun 08 08:51:19 Ira-Lenovo pulseaudio[328]: [pulseaudio] main.c: Module load failed.
    Jun 08 08:51:19 Ira-Lenovo pulseaudio[328]: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.ServiceUnknown: The name org.bluez was not provided by any .service files
    Jun 08 08:51:21 Ira-Lenovo org.freedesktop.thumbnails.Thumbnailer1[311]: (tumblerd:351): tumbler-WARNING **: Failed to load plugin "tumbler-odf-thumbnailer.so": libgsf-1.so.114: cannot open shared object file: No such file or directory
    Jun 08 08:51:21 Ira-Lenovo org.freedesktop.thumbnails.Thumbnailer1[311]: (tumblerd:351): tumbler-WARNING **: Failed to load plugin "tumbler-poppler-thumbnailer.so": libpoppler-glib.so.8: cannot open shared object file: No such file or directory
    Jun 08 08:51:21 Ira-Lenovo org.freedesktop.thumbnails.Thumbnailer1[311]: (tumblerd:351): tumbler-WARNING **: Failed to load plugin "tumbler-raw-thumbnailer.so": libopenrawgnome.so.1: cannot open shared object file: No such file or directory
    Jun 08 08:51:21 Ira-Lenovo org.freedesktop.thumbnails.Thumbnailer1[311]: (tumblerd:351): tumbler-WARNING **: Failed to load plugin "tumbler-ffmpeg-thumbnailer.so": libffmpegthumbnailer.so.4: cannot open shared object file: No such file or directory
    Jun 08 08:51:22 Ira-Lenovo kernel: fuse init (API version 7.22)
    Jun 08 08:51:22 Ira-Lenovo systemd[1]: Mounting FUSE Control File System...
    Jun 08 08:51:22 Ira-Lenovo systemd[1]: Mounted FUSE Control File System.
    Jun 08 08:51:22 Ira-Lenovo rtkit-daemon[329]: Successfully made thread 392 of process 392 (/usr/bin/pulseaudio) owned by '1000' high priority at nice level -11.
    Jun 08 08:51:22 Ira-Lenovo rtkit-daemon[329]: Supervising 4 threads of 2 processes of 1 users.
    Jun 08 08:51:22 Ira-Lenovo pulseaudio[392]: Daemon already running.
    Jun 08 08:51:23 Ira-Lenovo dbus[235]: [system] Activating via systemd: service name='org.freedesktop.UDisks2' unit='udisks2.service'
    Jun 08 08:51:23 Ira-Lenovo systemd[1]: Starting Disk Manager...
    Jun 08 08:51:24 Ira-Lenovo udisksd[401]: udisks daemon version 2.1.3 starting
    Jun 08 08:51:24 Ira-Lenovo dbus[235]: [system] Successfully activated service 'org.freedesktop.UDisks2'
    Jun 08 08:51:24 Ira-Lenovo systemd[1]: Started Disk Manager.
    Jun 08 08:51:24 Ira-Lenovo udisksd[401]: Acquired the name org.freedesktop.UDisks2 on the system message bus
    Jun 08 08:51:25 Ira-Lenovo dbus[235]: [system] Activating via systemd: service name='org.freedesktop.UPower' unit='upower.service'
    Jun 08 08:51:25 Ira-Lenovo systemd[1]: Starting Daemon for power management...
    Jun 08 08:51:26 Ira-Lenovo dbus[235]: [system] Successfully activated service 'org.freedesktop.UPower'
    Jun 08 08:51:26 Ira-Lenovo systemd[1]: Started Daemon for power management.
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> (enp6s0): carrier now ON (device state 20)
    Jun 08 08:51:26 Ira-Lenovo kernel: r8169 0000:06:00.0 enp6s0: link up
    Jun 08 08:51:26 Ira-Lenovo kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp6s0: link becomes ready
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> (enp6s0): device state change: unavailable -> disconnected (reason 'carrier-changed') [20 30 40]
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Auto-activating connection 'Wired connection 1'.
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) starting connection 'Wired connection 1'
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> (enp6s0): device state change: disconnected -> prepare (reason 'none') [30 40 0]
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> NetworkManager state is now CONNECTING
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 1 of 5 (Device Prepare) scheduled...
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 1 of 5 (Device Prepare) started...
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 2 of 5 (Device Configure) scheduled...
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 1 of 5 (Device Prepare) complete.
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 2 of 5 (Device Configure) starting...
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> (enp6s0): device state change: prepare -> config (reason 'none') [40 50 0]
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 2 of 5 (Device Configure) successful.
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 3 of 5 (IP Configure Start) scheduled.
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 2 of 5 (Device Configure) complete.
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 3 of 5 (IP Configure Start) started...
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> (enp6s0): device state change: config -> ip-config (reason 'none') [50 70 0]
    Jun 08 08:51:26 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Beginning DHCPv4 transaction (timeout in 45 seconds)
    Jun 08 08:51:26 Ira-Lenovo upowerd[427]: (upowerd:427): UPower-Linux-WARNING **: Setting /sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0e/PNP0C0A:00/power_supply/BAT1 state empty as unknown and very low
    Jun 08 08:51:26 Ira-Lenovo upowerd[427]: (upowerd:427): UPower-Linux-WARNING **: Setting /sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0e/PNP0C0A:00/power_supply/BAT1 state empty as unknown and very low
    Jun 08 08:51:27 Ira-Lenovo NetworkManager[233]: <info> dhcpcd started with pid 440
    Jun 08 08:51:27 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Beginning IP6 addrconf.
    Jun 08 08:51:27 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 3 of 5 (IP Configure Start) complete.
    Jun 08 08:51:27 Ira-Lenovo dbus[235]: [system] Activating via systemd: service name='org.freedesktop.ModemManager1' unit='dbus-org.freedesktop.ModemManager1.service'
    Jun 08 08:51:27 Ira-Lenovo dbus[235]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.ModemManager1.service': Unit dbus-org.freedesktop.ModemManager1.service failed to load: No such file or directory.
    Jun 08 08:51:28 Ira-Lenovo dhcpcd[440]: version 6.3.2 starting
    Jun 08 08:51:28 Ira-Lenovo NetworkManager[233]: <info> (enp6s0): DHCPv4 state changed nbi -> preinit
    Jun 08 08:51:28 Ira-Lenovo dhcpcd[440]: DUID 00:01:00:01:1a:27:1d:43:1c:75:08:53:82:9a
    Jun 08 08:51:28 Ira-Lenovo dhcpcd[440]: enp6s0: IAID 08:53:82:9a
    Jun 08 08:51:28 Ira-Lenovo dhcpcd[440]: enp6s0: soliciting an IPv6 router
    Jun 08 08:51:28 Ira-Lenovo dhcpcd[440]: enp6s0: rebinding lease of 192.168.1.13
    Jun 08 08:51:34 Ira-Lenovo dhcpcd[440]: enp6s0: leased 192.168.1.13 for 3600 seconds
    Jun 08 08:51:34 Ira-Lenovo dhcpcd[440]: enp6s0: adding route to 192.168.1.0/24
    Jun 08 08:51:34 Ira-Lenovo NetworkManager[233]: <info> (enp6s0): DHCPv4 state changed preinit -> bound
    Jun 08 08:51:34 Ira-Lenovo NetworkManager[233]: <info> address 192.168.1.13
    Jun 08 08:51:34 Ira-Lenovo NetworkManager[233]: <info> prefix 24 (255.255.255.0)
    Jun 08 08:51:34 Ira-Lenovo NetworkManager[233]: <info> gateway 192.168.1.1
    Jun 08 08:51:34 Ira-Lenovo NetworkManager[233]: <info> nameserver '192.117.235.235'
    Jun 08 08:51:34 Ira-Lenovo NetworkManager[233]: <info> nameserver '62.219.186.7'
    Jun 08 08:51:34 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 5 of 5 (IPv4 Configure Commit) scheduled...
    Jun 08 08:51:34 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 5 of 5 (IPv4 Commit) started...
    Jun 08 08:51:35 Ira-Lenovo dhcpcd[440]: enp6s0: removing route to 192.168.1.0/24
    Jun 08 08:51:35 Ira-Lenovo NetworkManager[233]: <info> (enp6s0): device state change: ip-config -> secondaries (reason 'none') [70 90 0]
    Jun 08 08:51:35 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 5 of 5 (IPv4 Commit) complete.
    Jun 08 08:51:35 Ira-Lenovo NetworkManager[233]: <info> (enp6s0): device state change: secondaries -> activated (reason 'none') [90 100 0]
    Jun 08 08:51:35 Ira-Lenovo NetworkManager[233]: <info> NetworkManager state is now CONNECTED_GLOBAL
    Jun 08 08:51:35 Ira-Lenovo NetworkManager[233]: <info> Policy set 'Wired connection 1' (enp6s0) as default for IPv4 routing and DNS.
    Jun 08 08:51:35 Ira-Lenovo NetworkManager[233]: <info> Writing DNS information to /usr/bin/resolvconf
    Jun 08 08:51:36 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) successful, device activated.
    Jun 08 08:51:36 Ira-Lenovo dbus[235]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
    Jun 08 08:51:36 Ira-Lenovo systemd[1]: Starting Network Manager Script Dispatcher Service...
    Jun 08 08:51:36 Ira-Lenovo dbus[235]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
    Jun 08 08:51:36 Ira-Lenovo systemd[1]: Started Network Manager Script Dispatcher Service.
    Jun 08 08:51:41 Ira-Lenovo dhcpcd[440]: enp6s0: no IPv6 Routers available
    Jun 08 08:51:48 Ira-Lenovo NetworkManager[233]: <info> (enp6s0): IP6 addrconf timed out or failed.
    Jun 08 08:51:48 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 4 of 5 (IPv6 Configure Timeout) scheduled...
    Jun 08 08:51:48 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 4 of 5 (IPv6 Configure Timeout) started...
    Jun 08 08:51:48 Ira-Lenovo NetworkManager[233]: <info> Activation (enp6s0) Stage 4 of 5 (IPv6 Configure Timeout) complete.
    Jun 08 08:51:59 Ira-Lenovo su[587]: (to root) ira on pts/0
    Jun 08 08:51:59 Ira-Lenovo su[587]: pam_unix(su:session): session opened for user root by ira(uid=1000)

    See https://bbs.archlinux.org/viewtopic.php?id=182030
    Here's the change you recently applied: https://projects.archlinux.org/svntogit … 882c43178c.

  • Is the RMI registry "process-atomic"?

    Hi,
    Sorry if this is a really stupid question, and I have really tried to find this out on my own.
    When I say "process" I mean Process, as opposed to Thread.
    What I mean is, if one Process calls Registry.bind( String, Remote ), can we be sure that another Process which does the same thing one nanosecond later will get an AlreadyBoundException if it calls with the same String?
    The context is that up to now I have been starting the RMI Server (only for logging at the mo, these are my first steps) explicitly in a Process. But now I want to move to "lazy" startup of the RMI registry and of the Server... so I would go LoggerInterface.log( bindingName, message ), and if the name "bindingName" is not presently in the registry it will create a new Server, and log the message using it.
    More specifically, this is about me trying to automate OpenOffice apps using Java... and it occurs to me that 2 events could indeed happen almost simultaneously, so in fact even explicitly starting up the Server in each handler module might encounter "Process concurrency" problems ... so I need to have an answer to this.
    I hope the answer is yes... otherwise I'm going to be a bit flummoxed about how to ensure one doesn't start up one Server Process from one calling Process, and another Server Process from another calling Process.
    Thanks

    I mean to use rebind() instead of the lookup()/bind() pair. It is atomic.... I understand it is atomic, but my point is that between checking whether you need to rebind (because the bound stub is invalid) and actually doing the rebind there will be an interval. If you systematically use rebind, without a prior check to make sure your Remote is actually attached to an existing Process, every call will cause a new Server Process to be created and then rebound, one after another. Which would be a mess.
    I'm going to spend a bit of time looking at your two references... thanks for them.
    I have thought of a possible solution involving a sort of lock, but I'm not sure if it works.
    1. create a "DummyInterface" extending Remote:
    public interface DummyInterface extends Remote {
    }2. in the Process + Thread which actually sets up the Registry, bind a DummyInterface
    Registry reg = null;
    try {
      reg = LocateRegistry.createRegistry( 1099 );
    } catch (RemoteException e) {
      return; // is this right? see below...
    DummyInterface dummyStub = new DummyInterface(){};
    try {
      dummyStub = (DummyInterface) UnicastRemoteObject.exportObject( dummyStub, 0);
    } catch (RemoteException e) {
      // TODO sthg
      e.printStackTrace();
    try {
      reg.bind( "DummyLockForLoggerServer", dummyStub );
    } catch (AlreadyBoundException e) {
      // every Thread in every Process (except the first such) to call "bind" will get here
      return;
    } catch (Exception e) {
      // TODO sthg
      e.printStackTrace();
    }3.     the first Process + Thread which wants to set up the LoggerServer will have first to unbind the DummyLock.
    try {
       reg.unbind( "DummyLockForLoggerServer" );
    } catch (AccessException e) {
       // TODO sthg
       e.printStackTrace();
    } catch (RemoteException e) {
       // TODO sthg
       e.printStackTrace();
    } catch (NotBoundException e) {
      // every Thread in every Process (except the first such) to call "unbind" will get here
      return;
    // only one Thread in one Process will ever succeed in getting here
    // start the LoggerServer
    String qualifiedClassName = ".... rmi.LoggerServer";
    String[] a_commandArgs = { "java", qualifiedClassName, "logName" };
    Process process = null;
    try {
      process = Utils.runSubprocess(a_commandArgs, null, ProcessSettings.getJavaRootDir());
    } catch (IOException e) {
       // TODO sthg
       e.printStackTrace();
    }... however there seem to be one or two questions about this:
    - does reg = LocateRegistry.createRegistry( 1099 ); throw a RemoteException if the Registry is already bound? I don't know and intend to do a few experiments to find this out for myself. But in any event only one Process+Thread can ever bind the dummy lock
    - there might be a race condition nonetheless to do with the interval between creating the Registry and binding the dummy lock... during this interval the Registry is established, and the dummylock is not yet set up... but I think this does no harm, as a Process trying to start the LoggerServer during this time will get the "NotBoundException" and simply return (and the calling thread will then sleep for a bit before trying again).

  • Oracle 11g XE won't auto start

    Installed XE (11g) on a XP machine. When system is restarted listener service starts but DB service doesn't. It is set to auto start. If I manually start the DB service it starts without issue and we can use the system.
    I've even set the service to try to restart in case of a failure (to see if that made a difference.....nope).
    Any ideas?

    Hi,
    What's set to registry?
    HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE -> [HOME0] -> ORA_[SID]_AUTOSTART
    Regards,

  • Port 1099 being used by other processes ,need an alt port for RMI-Registry

    I am using port 1099 for RMI and the o/s is windows 2003.
    We want that the RMI registry shud automatically be started with the windows startup processes.But we found that some other processes are usoing the same port.
    Is there any other port which can be used for the same?
    or any method to make other processes release the port forcefully.

    If you read the documentation or do a quick google search, you will discover the rmiregistry program can be assigned any port you wish. Simply invoke via:
    rmiregistry -h from windows or "man rmiregistry" from mac or unix and you will be greeted with:
    Usage: rmiregistry <options> <port>
    In a nut shell just specify the port:
    i.e.
    rmiregistry 5000
    etc...
    Hope this helps.
    -Lemont

  • Error in re-creating RMI registry when reloading Tomcat server.

    Hi,
    I use LocateRegistry.createRegistry() in a servlet which is load-on-startup. I've unexport the registered remote object in the HttpServlet.destroy().
    But when I reload the tomcat server, such an exception ocurrs:
    java.rmi.server.ExportException: internal error: ObjID already in use
            at sun.rmi.transport.ObjectTable.putTarget(ObjectTable.java:168)
            at sun.rmi.transport.Transport.exportObject(Transport.java:69)
            at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:190)
            at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382)
            at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116)
            at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:145)
            at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
            at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:78)
            at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:164)
            at RmiUtils.rebindLocal(RmiUtils.java:86)Here is the binding code in RmiUtils.rebindLocal:
            try {
                Naming.rebind(url, rmiImpl);
            } catch (RemoteException ce) {
                if (!ru.isLocalhost()) {
                    ce.printStackTrace();
                    // cannot cache
                    return;
                } else {
                    // try to create the registry in local machine if not created
                    try {
                        LocateRegistry.createRegistry(ru.getPort());
                        Naming.rebind(url, rmiImpl);
                    } catch (RemoteException e) {
                        System.err.println("Failure in create Registry on port "
                                + ru.getPort() + ", maybe it's been created already!");
                        e.printStackTrace();// handle exception
            }Can anybody help?
    Thanks.

    Hi
    I havent code for quite a while.
    I would think that this wont work.
    The registry is created on startup (possibly init method in ur servlet) but it is never destroyed.
    You are better off starting the registry externally to ur servlet engine, and then use do a bind/rebind on startup, unbind on destroy.
    Hope this helps.

Maybe you are looking for