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

📄 clientcontroller.java.svn-base

📁 this is example use EJB with jboss.
💻 SVN-BASE
字号:
/*
 * Copyright(C) 2008, NTT AT Co., Ltd.
 * Project: AWGStar
 *
 * Notes:
 *  N/A
 *
 * Record of change:
 * Date         Version      Name       Content
 * 2008/12/15   1.0          TuanNA      First create       
 */

package jp.co.ntt.awgview.server.ejb;

import java.rmi.RemoteException;
import java.util.Properties;

import javax.ejb.CreateException;
import javax.ejb.RemoveException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;

import jp.co.ntt.awgview.server.common.LogWriter;


/**
 * Class name : ClientController <BR>
 * 
 * Package : jp.co.ntt.awgview.server.ejb <BR>
 * 
 * Description: Supply methods and remote object to interact with server<BR>
 * 
 * @author : AI&T
 * @version : 1.0
 */
public class ClientController {

	private static EJBRemoteManager remote = null;
	private String urlServer = null;
	Properties properties;
	
	/**
	 * ClientController Construtor
	 * @param url
	 * 			URL of Server
	 */
	public ClientController(String url) {
		urlServer = url;
		// Create context properties 
		properties = new Properties();
		properties.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
		properties.put("java.naming.factory.url.pkgs", "=org.jboss.naming:org.jnp.interfaces");
		properties.put("java.naming.provider.url", urlServer);
		
		LogWriter.getDBLogger().info("URL of Server: " + urlServer);
	}
	
	/**
	 * Returns the Remoter Object to monitor remote
	 * @return EJBRemoteManager
	 */
	public EJBRemoteManager getRemoter() {
		try {
			if(urlServer == null){
				return null;
			}
			// Initial context properties 
			Context context = new InitialContext(properties);
			
			// Looking up for bean
			Object homeObject = context.lookup("java:/awgview_ejbmanager");
			
			// Narrow the reference to EJBHomeManager.
			EJBHomeManager home = (EJBHomeManager) PortableRemoteObject.narrow(
					homeObject, EJBHomeManager.class);

			// Create remote object and narrow the reference to EJBRemoteManager.
			remote = (EJBRemoteManager) PortableRemoteObject.narrow(home
					.create(), EJBRemoteManager.class);
			
			return remote;

		} catch (NamingException e) {
			e.printStackTrace();
			LogWriter.getDBLogger().error(e.getMessage());
			
		} catch (RemoteException e) {
			e.printStackTrace();
			LogWriter.getDBLogger().error(e.getMessage());
		} catch (CreateException e) {
			e.printStackTrace();
			LogWriter.getDBLogger().error(e.getMessage());
		}
		return null;

	}
	
	/**
	 * Remove a session bean
	 */
	public void closeRemoter() {
	    if(remote != null){
	    	try {
				remote.remove();
			} catch (RemoteException e) {
				  LogWriter.getDBLogger().error(e.getMessage());
			} catch (RemoveException e) {
		    	  LogWriter.getDBLogger().error(e.getMessage());
			} 
	    }
	}

}

⌨️ 快捷键说明

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