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

📄 crbtagentappdefine.java

📁 同步接收web services请求
💻 JAVA
字号:
package com.aceway.vas.xjcrgw.crbtagent;

import javax.xml.namespace.QName;

import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import org.codehaus.xfire.service.invoker.BeanInvoker;

import com.aceway.common.app.AbstractAppDefine;
import com.aceway.vas.commons.tcp.IClientHandler;
import com.aceway.vas.commons.tcp.TcpClient;
import com.aceway.vas.commons.tcp.Util;
import com.aceway.vas.commons.util.logger.AcewayLogger;
import com.aceway.vas.xjcrgw.ws.agent.agentcrbtservice.AgentCrbtService;
import com.aceway.vas.xjcrgw.ws.crbtservice.HuaweiCrbtServiceImpl;
import com.aceway.vas.xjcrgw.ws.crbtservice.ZTECrbtServiceImpl;
import com.aceway.vas.xjcrgw.ws.handler.AgentCrbtClientHandler;
import com.aceway.vas.xjcrgw.ws.handler.AgentCrbtNetConnectHandler;
import com.aceway.vas.xjcrgw.ws.handler.AgentCrbtWSHandler;
import com.aceway.vas.xjcrgw.ws.handler.IMsgReceiveable;
import com.aceway.vas.xjcrgw.ws.server.WSServer;

public class CrbtAgentAppDefine extends AbstractAppDefine {

	private AcewayLogger acewayLogger = (AcewayLogger) AcewayLogger.getLogger("CrbtAgentLogger");

	private WSServer wsServer = new WSServer();

	public String getAppName() {
		return "CrbtAgent";
	}

	public String getAppType() {
		return "CrbtAgent";
	}

	public int getExitPort() {
		return 8881;
	}

	/**
	 * 启动消息处理器,添加网络连接和业务操作消息处理器,连接响应服务器彩铃平台
	 * 
	 */
	private void init() {

		// WEB SERVICES请求处理对象,业务操作请求应答消息处理对象
		IMsgReceiveable crbtHandler = AgentCrbtWSHandler.getInstance();
		// 与华为彩铃平台通讯相关的网络连接对象
		IMsgReceiveable crbtnetConnHandler = AgentCrbtNetConnectHandler.getInstance();
		// CBGP消息包转发器
		IClientHandler clientHandler = AgentCrbtClientHandler.getInstance();
		clientHandler.addMsgReceiver(crbtHandler);
		clientHandler.addMsgReceiver(crbtnetConnHandler);
		// TCP客户端实例
		TcpClient tcpClient = Util.getClient();
		int maxPacketSize = 1024;
		tcpClient.setDataHandler(clientHandler, maxPacketSize);
		boolean isConnSuccess = tcpClient.connect("", 0);
		
		if (isConnSuccess) {
			acewayLogger.info("成功连接华为彩铃平台");
		} else {
			acewayLogger.error("连接华为彩铃平台失败");
		}
		
	}

	public void start() {
		Service[] services = new Service[2];
		ObjectServiceFactory serviceFactory = new ObjectServiceFactory();
		services[0] = serviceFactory.create(AgentCrbtService.class);
		services[0].setInvoker(new BeanInvoker(new HuaweiCrbtServiceImpl()));
		services[0].setName(new QName(
				"http://AgentCrbtService.agent.ws.xjcrgw.vas.aceway.com/",
				"HuaweiCrbtService"));
		services[1] = serviceFactory.create(AgentCrbtService.class);
		services[1].setInvoker(new BeanInvoker(new ZTECrbtServiceImpl()));
		services[1].setName(new QName(
				"http://AgentCrbtService.agent.ws.xjcrgw.vas.aceway.com/",
				"ZTECrbtService"));

		try {

			acewayLogger.info("华为CRBT_ATENT模块启动,");

			wsServer.start(services, 9991);

			init();			
		} catch (Exception e) {
			acewayLogger.error("华为CRBT_ATENT模块启动失败", e);
		}

	}

	public void stop() {
		try {
			wsServer.stop();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

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