Discussions

EJB design: RMI-Service started in startupclasses of Bea Weblogic Server

  1. Hi,

    in my company there is a J2EE Application running on a Bea Weblogic Server. From time to time the application fails (100 % memory usage, restart is necessary).

    I had a look at the application and found out, that there are RMI-Services, that are startet in the startup-classes of the Server. I have the feeling, that such a thing is not OK, because then a separate RMI-service is running under Bea.
    Does anyone know, if it is OK to do something like this ?

    Thanks for any information,
    Mike
  2. Hi,

    To me, this is not OK. Having an EJB application listening to an RMI socket seems to be a bad idea. Espacially when the RMI server is started in the WLS start-up classes. (By the way, I don't like the WLS start-up classes at all. Am I the only one...)

    The EJB 2.1 (section 25.1.2) specification says:
    An enterprise bean must not attempt to listen on a socket, accept connections on a socket, or use a socket for multicast.

    With the following comment:
    The EJB architecture allows an enterprise bean instance to be a network socket client, but it does not allow it to be a network server. Allowing the instance to become a network server would conflict with the basic function of the enterprise bean-- to serve the EJB clients.

    So, in my opinion your feeling is correct!

    /Tomas