如何在tomcat中启动配置rmi服务

zzhangwa 2003-07-31 11:47:56
如何在tomcat中启动配置rmi服务
...全文
993 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyz 2003-08-01
  • 打赏
  • 举报
回复
上诉代码有误,应为:

private void rmiStart() {
try {
Registry r = LocateRegistry.getRegistry(RMIServer.Port);
if ( r != null) r = LocateRegistry.createRegistry(RMIServer.Port);
RMIServer s = new RMIServerImpl();
Naming.rebind(RMIServer.Name, s);
log.info("rmiStart successful.");
} catch (Exception e) {
log.error("During rmiStart", e);
}
}

jackyz 2003-08-01
  • 打赏
  • 举报
回复
首先,你需要有一个 RMIRunner

package com.your.rmi;

import java.rmi.*;
import java.rmi.registry.*;
import org.apache.log4j.Logger;

public class RMIRunner implements Runnable {

private static Logger log = Logger.getLogger( RMIRunner.class );

// ***********************

private void rmiStart() {
try {
Registry r = LocateRegistry.getRegistry(RMIExecutor.ServerPort);
if ( r != null) r = LocateRegistry.createRegistry(RMIExecutor.ServerPort);
RMIServer s = new RMIServerImpl();
Naming.rebind(RMIServer.ServerName, s);
log.info("rmiStart successful.");
} catch (Exception e) {
log.error("During rmiStart", e);
}
}

public void run() {
rmiStart();
}

}

然后,要写一支 servlet 来调用它

package com.your.web.RMIInit;

import javax.servlet.*;
import javax.servlet.http.*;
import com.your.rmi.RMIRunner;

public class RMIInit extends GenericServlet {

public void init( ServletConfig config ) throws ServletException {
RMIRunner rmiRunner = new RMIRunner();
Thread t = new Thread(rmiRunner);
t.start();
}

public void service( ServletRequest req, ServletResponse res ) throws ServletException, IOException { }

public void destroy() { }

}

最后,在 web.xml 中配置该 servlet 为 load-on-startup 的
....
<servlet>
<servlet-name>rmiInit</servlet-name>
<display-name>RMI Server Init</display-name>
<servlet-class>com.your.web.RMIInit</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
....

搞定
vcvj 2003-08-01
  • 打赏
  • 举报
回复
用J2EE吧
zzhangwa 2003-08-01
  • 打赏
  • 举报
回复
up

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧