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,
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!