📄 calculatorservice.java
字号:
/*
* 创建日期 2005-4-20
*
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
/**
* @author friends
*
* 更改所生成类型注释的模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package BUAA.NLSDE;
import java.io.IOException;
import java.rmi.RMISecurityManager;
import net.jini.discovery.LookupDiscovery;
import net.jini.discovery.LookupDiscoveryManager;
import net.jini.lookup.JoinManager;
/**
* Jini计算器服务
*/
public class CalculatorService {
public CalculatorService() throws IOException {
initializeSecurityManager();
initializeJoinManager();
}
// 设置安全管理器
private void initializeSecurityManager() {
if (System.getSecurityManager() == null) {
System.setSecurityManager(new RMISecurityManager());
}
}
// 设置加入管理器
private void initializeJoinManager() {
try {
// 要加入到Jini网络中的服务
CalculatorProxy proxy = new CalculatorProxy();
// 定位Jini查找服务
LookupDiscoveryManager manager =
new LookupDiscoveryManager(LookupDiscovery.ALL_GROUPS, null, null);
// 将服务加入到Jini网络
JoinManager joinManager =
new JoinManager(proxy, null, (CalculatorProxy) proxy, manager, null);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
try {
new CalculatorService();
// 确保Jini服务始终有效
Object keepAlive = new Object();
synchronized (keepAlive) {
keepAlive.wait();
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -