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

📄 clientimpl.java

📁 springGather 在JAVA环境开发的电信运营支持系统
💻 JAVA
字号:
package org.com.gather;

import java.util.*;
import java.io.*;
import java.net.*;

public class ClientImpl implements Client{
	private Properties pro = null;
	private Log log = null;
	private BackUp back = null;

	public ClientImpl(Properties pro){
		this.pro = pro;
	}

	public void send(Collection col){
		if(!col.isEmpty()){
			log.writeDebug("要发送到服务端的数据不为空,大小为 :"+col.size());
			OutputStream os = null;
			ObjectOutputStream oos = null;
			Socket socket = null;
			try{
				socket = new Socket(pro.getProperty("server"),new Integer(pro.getProperty("port")).intValue());
			}catch(UnknownHostException e){
				e.printStackTrace();
			}catch(IOException e){
				log.writeError("连接主机失败!");
				back.storeForEmpty(col);	log.writeInfo("连接主机失败,把采集到的数据成功备份到文件!");
				//如果连接主机失败,则直接退出程序;
				System.exit(0);
			}
			
			try{
				os = socket.getOutputStream();
			}catch(IOException e){
				e.printStackTrace();
				log.writeError("从服务器取 Soket 流出异常!");
				System.exit(0);
			}

			try{
				oos = new ObjectOutputStream(os);
				oos.writeObject(col);
				os.close();
				oos.close();
			}catch(IOException e){
				log.writeError("发送服务器途中出异常;");
				back.storeForEmpty(col);
				log.writeInfo("发送数据失败,以成功备份到文件!");
				System.exit(0);
			}
		}else{
			OutputStream os = null;
			ObjectOutputStream oos = null;
			Socket socket = null;
			log.writeDebug("采集到的数据为空,采用第二种方式发送;");
			try{
				socket = new Socket(pro.getProperty("server"),new Integer(pro.getProperty("port")).intValue());
			}catch(UnknownHostException e){
				e.printStackTrace();
			}catch(IOException e){
				log.writeError("连接主机失败!");
				back.storeForEmpty(col);	log.writeInfo("连接主机失败,把采集到的数据成功备份到文件!");
				System.exit(0);
			}
			
			try{
				os = socket.getOutputStream();
			}catch(IOException e){
				e.printStackTrace();
				log.writeError("从服务器取 Soket 流出异常!");
				System.exit(0);
			}

			try{
				oos = new ObjectOutputStream(os);
				log.writeDebug("发各请求给服务端,让服务端自动检测是否有备份数据,有则入库;");
				oos.writeObject(col);
				os.close();
				oos.close();
			}catch(IOException e){
				log.writeError("发送服务器途中出异常;");
				back.storeForEmpty(col);
				log.writeInfo("发送数据失败,以成功备份到文件!");
				System.exit(0);
			}
		}
	}

	public void setLog(Log log){
		this.log = log;
	}

	public void setBackUp(BackUp back){
		this.back = back;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -