⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculatorservice.java

📁 一个简单但是有效的JINI源码示例
💻 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 + -