EJB files of EJB1.2

Session Bean
 
Files List:
 
BaseSeesionBean.java
which extnds javax.ejb.seesionbean, main include some  normal method but not include ejbCreate(), which is in another specail file.
 
code:
package base;
import java.rmi.RemoteException;

import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.naming.InitialContext;

import org.apache.log4j.Logger;


public class BaseSessionBean implements SessionBean {

     /** Log4j instance for actual implementation class */
         public transient Logger log;
         private SessionContext ctx;

         /** Cached initial context to save JNDI lookups */
         transient InitialContext cacheCtx = null;
        
        
         /**
         * Initializes logging mechanism per instance
         */
         public BaseSessionBean() {
                log = Logger.getLogger( this.getClass());
        }

         /**
         * Logs a message with priority TRACE
         *
         * @param msg Message
         */
         public void trace(String msg) {
                log.trace(msg);
        }

         /**
         * Logs a message and an exception with priority TRACE
         *
         * @param msg Message
         * @param t Exception
         */
         public void trace(String msg, Throwable t) {
                log.trace(msg, t);
        }

         /**
         * Logs a message with priority DEBUG
         *
         * @param msg Message
         */
         public void debug(String msg) {
                log.debug(msg);
        }

         /**
         * Logs a message and an exception with priority DEBUG
         *
         * @param msg Message
         * @param t Exception
         */
         public void debug(String msg, Throwable t) {
                log.debug(msg, t);
        }

         /**
         * Logs a message with priority INFO
         *
         * @param msg Message
         */
         public void info(String msg) {
                log.info(msg);
        }

         /**
         * Logs a message and an exception with priority INFO
         *
         * @param msg Message
         * @param t Exception
         */
         public void info(String msg, Throwable t) {
                log.info(msg, t);
        }

         /**
         * Logs a message with priority WARN
         *
         * @param msg Message
         */
         public void warn(String msg) {
                log.warn(msg);
        }

         /**
         * Logs a message and an exception with priority WARN
         *
         * @param msg Message
         * @param t Exception
         */
         public void warn(String msg, Throwable t) {
                log.warn(msg, t);
        }

         /**
         * Logs a message with priority ERROR
         *
         * @param msg Message
         */
         public void error(String msg) {
                log.error(msg);
        }

         /**
         * Logs a message and an exception with priority ERROR
         *
         * @param msg Message
         * @param t Exception
         */
         public void error(String msg, Throwable t) {
                log.error(msg, t);
        }
        
        
  @Override
   public void ejbActivate() throws EJBException, RemoteException {
     log = Logger.getLogger( this.getClass());

  }

  @Override
   public void ejbPassivate() throws EJBException, RemoteException {
     // TODO Auto-generated method stub

  }

  @Override
   public void ejbRemove() throws EJBException, RemoteException {
     // TODO Auto-generated method stub

  }

  @Override
   public void setSessionContext( final javax.ejb.SessionContext ctx) throws EJBException,
      RemoteException {
     this.ctx = ctx;

  }

   /**
         * Get session contect
         *
         * @return current session context
         */
         public SessionContext getSessionContext() {
                 return ctx;
        }

         /**
         * return the environment entries locator
         * @return return the environment entries locator
         */
         protected ServiceLocator getLocator() {
                 return ServiceLocator.getInstance();
        }
}
 
 
ServiceLocator.java
Tool class for gethome interface of remote or local, and some others.
package base;

import java.net.URL;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import javax.ejb.EJBHome;
import javax.ejb.EJBLocalHome;
import javax.mail.Session;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
import javax.sql.DataSource;


public class ServiceLocator {

     /** ejb home cache */
        @SuppressWarnings( "unchecked")
   private transient Map ejbHomes = Collections.synchronizedMap( new HashMap());

         /** the jndi context */
         private transient Context ctx;

         /** the singleton instance */
         private static transient ServiceLocator instance;

         /**
         * Create a new service locator object.
         * @throws ServiceLocatorException if the context failed to be initialized
         */
         private ServiceLocator() throws ServiceLocatorException {
                 try {
                         this.ctx = new InitialContext();
                } catch (NamingException e){
                         throw new ServiceLocatorException(e);
                }
        }

         /**
         * return the singleton instance
         * @return the singleton instance
         * @throws ServiceLocatorException if the instance could not be initialized the first time
         */
         public static final ServiceLocator getInstance() throws ServiceLocatorException {
                 // synchronization is intentionally left out. It 'should' not have dramatic
                 // consequences as it is not that destructive.
                 if (instance == null){
                        instance = new ServiceLocator();
                }
                 return instance;
        }
        
         /**
         * return the ejb local home.
         * clients need to cast to the type of EJBHome they desire
         * @param jndiHomeName the jndi home name matching the requested local home.
         * @return the Local EJB Home corresponding to the home name
         */
         public EJBLocalHome getLocalHome(String jndiHomeName) throws ServiceLocatorException {
                EJBLocalHome home = (EJBLocalHome)ejbHomes.get(jndiHomeName);
                 if (home == null) {
                        home = (EJBLocalHome)getObject(jndiHomeName);
                        ejbHomes.put(jndiHomeName, home);
                }
                 return home;
        }

         /**
         * return the ejb remote home.
         * clients need to cast to the type of EJBHome they desire
         * @param jndiHomeName the jndi home name matching the requested remote home.
         * @return the Local EJB Home corresponding to the home name
         */
         public EJBHome getRemoteHome(String jndiHomeName, Class className) throws ServiceLocatorException {
                EJBHome home = (EJBHome)ejbHomes.get(className);
                 if (home == null) {
                        Object objref = getObject(jndiHomeName);
                        home = (EJBHome) PortableRemoteObject.narrow(objref, className);
                        ejbHomes.put(className, home);
                }
                 return home;
        }

         /**
         * return the datasource object corresponding the the env entry name
         * @return the DataSource corresponding to the env entry name parameter
         * @throws ServiceLocatorException if the lookup fails
         */
         public DataSource getDataSource(String dataSourceName) throws ServiceLocatorException {
                 return (DataSource)getObject(dataSourceName);
        }

         /**
         * return the URL object corresponding to the env entry name
         * @param envName the env entry name
         * @return the URL value corresponding to the env entry name.
         * @throws ServiceLocatorException if the lookup fails
         */
         public URL getUrl(String envName) throws ServiceLocatorException {
                 return (URL)getObject(envName);
        }

         /**
         * return a boolean value corresponding to the env entry
         * @param envName the env entry name
         * @return the boolean value corresponding to the env entry.
         * @throws ServiceLocatorException if the lookup fails
         */
         public boolean getBoolean(String envName) throws ServiceLocatorException {
                 return ((Boolean)getObject(envName)).booleanValue();
        }

         /**
         * return a string value corresponding to the env entry
         * @param envName the env entry name
         * @return the boolean value corresponding to the env entry.
         * @throws ServiceLocatorException if the lookup fails
         */
         public String getString(String envName) throws ServiceLocatorException {
                String ret = null;
                 try {
                        ret = (String)getObject(envName);                    
                } catch (ServiceLocatorException e) {
                   if (e.getCause() instanceof NameNotFoundException) {
         // ignore this and return null, otherwise we can not have empty values in Glassfish
                    ret = null;
      }
                }
                 return ret;
        }

         /**
         * return a mail session corresponding to the env entry
         * @param envName the env entry name
         * @return the mail session corresponding to the env entry.
         * @throws ServiceLocatorException if the lookup fails
         */
         public Session getMailSession(String envName) throws ServiceLocatorException {
                 return (Session)getObject(envName);
        }

         /**
         * return a known java object corresponding to the env entry
         * @param envName the env entry name
         * @return the java object corresponding to the env entry
         * @throws ServiceLocatorException if the lookup fails
         */
         public Object getObject(String envName) throws ServiceLocatorException {
                 try {
                         return ctx.lookup(envName);
                } catch (NamingException e) {
                         throw new ServiceLocatorException(e);
                }
        }
}
 
LocalUserAdminSessionBean.java
Mian Biz class, include ejbCreate emthod.
package ejbBeans;

import java.rmi.RemoteException;

import javax.ejb.CreateException;
import javax.ejb.EJBException;

import base.BaseSessionBean;

public class LocalUserAdminSessionBean extends BaseSessionBean{

   /**
    *    
    */
   private static final long serialVersionUID = 5028163905841527500L;
   private IUserAdminSessionLocal useradminsession;

   /**
         * Default create for SessionBean.
         *
         * @throws CreateException if bean instance can't be created
         * @see org.ejbca.core.model.log.Admin
         */
         public void ejbCreate() throws CreateException {
//                try {                    
//
//                        IUserAdminSessionLocalHome useradminsessionhome = (IUserAdminSessionLocalHome) getLocator().getLocalHome(IUserAdminSessionLocalHome.COMP_NAME);
//                        useradminsession = useradminsessionhome.create();                        
//                        
//                } catch (Exception e) {
//                        error("Error creating session bean:", e);
//                        throw new EJBException(e);
//                }
        }
        
         public void setDaniel() throws RemoteException{
//          useradminsession.setString("daniel");
        }
        
     public String setString(java.lang.String str ){
     System.out.println(str);
     return str+str;
    }
}
 
 
UserAdminSessionSession
package ejbBeans;

public class UserAdminSessionSession extends LocalUserAdminSessionBean
     implements javax.ejb.SessionBean {
   /**
    *    
    */
   private static final long serialVersionUID = 1964534241710585774L;

   public void ejbActivate() throws javax.ejb.EJBException,
      java.rmi.RemoteException {

     super.ejbActivate();
  }

   public void ejbPassivate() throws javax.ejb.EJBException,
      java.rmi.RemoteException {
     super.ejbPassivate();
  }

   public void setSessionContext(javax.ejb.SessionContext ctx)
       throws javax.ejb.EJBException, java.rmi.RemoteException {
     super.setSessionContext(ctx);
  }

   public void unsetSessionContext() {
  }

   public void ejbRemove() throws javax.ejb.EJBException,
      java.rmi.RemoteException {
     super.ejbRemove();
  }

}
 
IUserAdminSessionHome.java
/**
*    
*/
package ejbBeans;

/**
* Home interface for UserAdminSession.
*/
public interface IUserAdminSessionHome
     extends javax.ejb.EJBHome
{
     public static final String COMP_NAME= "java:comp/env/ejb/UserAdminSession";
     public static final String JNDI_NAME= "UserAdminSession";

     public IUserAdminSessionRemote create()
             throws javax.ejb.CreateException,java.rmi.RemoteException;

}
 
IUserAdminSessionLocal.java
package ejbBeans;

import javax.ejb.EJBLocalObject;

public interface IUserAdminSessionLocal extends EJBLocalObject {

     public String setString(java.lang.String str ) ;
}
 
IUserAdminSessionLocalHome.java
 
package ejbBeans;

import javax.ejb.EJBLocalHome;

public interface IUserAdminSessionLocalHome extends EJBLocalHome {

   public static final String COMP_NAME= "java:comp/env/ejb/UserAdminSessionLocal";
         public static final String JNDI_NAME= "UserAdminSessionLocal";

         public IUserAdminSessionLocal create()
             throws javax.ejb.CreateException;

}
 
IUserAdminSessionRemote.java
 
package ejbBeans;

import javax.ejb.EJBObject;

public interface IUserAdminSessionRemote extends EJBObject {

     public String setString(java.lang.String str ) throws java.rmi.RemoteException;

}
 
Deploy XMl
 
ejb-jar.xml
<? xml version ="1.0" encoding ="UTF-8" ?>
< ejb-jar id ="ejb-jar_ID" version ="2.1" xmlns ="http://java.sun.com/xml/ns/j2ee" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd" >
   < display-name >ejb21 </ display-name >
    
   < enterprise-beans >

            <!-- Session Beans -->            
            
  <!-- UserAdminSession bean -->
     < session id ="Session_UserAdminSession" >
                 < description ><![CDATA[Administrates users in the database using UserData Entity Bean.]]> </ description >


                 < ejb-name >UserAdminSession </ ejb-name >
                
                 < home >ejbBeans.IUserAdminSessionHome </ home >
                 < remote >ejbBeans.IUserAdminSessionRemote </ remote >
                 < local-home >ejbBeans.IUserAdminSessionLocalHome </ local-home >
                 < local >ejbBeans.IUserAdminSessionLocal </ local >
                 < ejb-class >ejbBeans.UserAdminSessionSession </ ejb-class >
                 < session-type >Stateless </ session-type >
                 < transaction-type >Container </ transaction-type >
                    
                 < env-entry >
                         < env-entry-name >DataSource </ env-entry-name >
                         < env-entry-type >java.lang.String </ env-entry-type >
                         < env-entry-value ><![CDATA[java:/EjbcaDS]]> </ env-entry-value >
                 </ env-entry >
                    
                 < ejb-local-ref id ="EJBLocalRef_48" >
                         < ejb-ref-name >ejb/UserAdminSessionLocal </ ejb-ref-name >
                         < ejb-ref-type >Session </ ejb-ref-type >
                         < local-home >ejbBeans.IUserAdminSessionHome </ local-home >
                         < local >ejbBeans.IUserAdminSessionLocal </ local >
                         < ejb-link >UserAdminSession </ ejb-link >
                 </ ejb-local-ref >
     </ session >
    
        <!-- UserAdminSession bean -->
< session id ="Session_RaAdminSession" >
                 < description ><![CDATA[Session bean handling core CA function,signing certificates]]> </ description >
                 < display-name >RaAdminSB </ display-name >

                 < ejb-name >RaAdminSession </ ejb-name >

                 < home >RABeans.IRaAdminSessionHome </ home >
                 < remote >RABeans.IRaAdminSessionRemote </ remote >
                 < local-home >RABeans.IRaAdminSessionLocalHome </ local-home >
                 < local >RABeans.IRaAdminSessionLocal </ local >
                 < ejb-class >RABeans.RaAdminSessionSession </ ejb-class >
                 < session-type >Stateless </ session-type >
                 < transaction-type >Container </ transaction-type >

             </ session >
            
     </ enterprise-beans >
        
     < assembly-descriptor >
        
         < container-transaction id ="MethodTransaction_273" >
             < method id ="MethodElement_297" >
                     < ejb-name >UserAdminSession </ ejb-name >
                     < method-name >* </ method-name >
                 </ method >
                 < trans-attribute >Required </ trans-attribute >
         </ container-transaction >
            
         < container-transaction id ="MethodTransaction_305" >
             < method id ="MethodElement_329" >
                     < ejb-name >UserAdminSession </ ejb-name >
                     < method-intf >Local </ method-intf >
                     < method-name >setString </ method-name >
                     < method-params >
                         < method-param >java.lang.String </ method-param >
                     </ method-params >
             </ method >
             < trans-attribute >Supports </ trans-attribute >
         </ container-transaction >
        
         < container-transaction id ="MethodTransaction_104" >
             < method id ="MethodElement_128" >
                 < ejb-name >RaAdminSession </ ejb-name >
                     < method-name >* </ method-name >
             </ method >
             < trans-attribute >Required </ trans-attribute >
         </ container-transaction >
         </ assembly-descriptor >
</ ejb-jar >
 
Jboss.xml
<? xml version ="1.0" encoding ="UTF-8" ?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">

< jboss >
   < unauthenticated-principal >nobody </ unauthenticated-principal >

   < enterprise-beans >
    
     < session >    
                 < ejb-name >UserAdminSession </ ejb-name >
                 <!-- jdni-name 主要是处理多个ejb组件同处一个ejb-jar.xml文件时候的jndi名字到ejb名的重定向 -->
                 < jndi-name >UserAdminSession </ jndi-name >
                 < local-jndi-name >UserAdminSessionLocal </ local-jndi-name >
    
                 < method-attributes >
                 </ method-attributes >                
             </ session >
             < session >
                 < ejb-name >RaAdminSession </ ejb-name >
                 < jndi-name >RaAdminSession </ jndi-name >
                 < local-jndi-name >RaAdminSessionLocal </ local-jndi-name >

                 < method-attributes >
                 </ method-attributes >
             </ session >
   </ enterprise-beans >

</ jboss >
 
 
Entity Bean
 
Similar with Sessionbean, main have 5 files,
 
BaseEntityBean.java
Include some common method except ejbCreate(), and some tool method.
 
UserDataBean.java 
Extends BaseEntityBean, an abstract class, implments some getter and setter which have identity in UserDataLocal.java , include mian class ejbCreate().
 
UserDataLocal.java
Extends EJBLocalObject, an interface file, identity some method for user.
 
UserDataLocalHome.java
Extends EJBLocalHome, an interface , identity COMP_NAME and JDNI_NAME and include an main Create() method.
 
 

你可能感兴趣的:(职场,休闲)