Weblogic 的JNDI对象的访问方法:

来源:互联网 发布:微博数据 编辑:程序博客网 时间:2024/06/05 06:48

package com.meyacom.ejb;

import java.util.*;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
public class EJBTest
{

    /**
     * 方法用途:
     * 方法名称: main
     * @param args
     *     返回类型:void
     *     返回值说明:
     */

    public static void main(String[] args)
    {
       
        Properties prop = new Properties();
        prop.put(Context.INITIAL_CONTEXT_FACTORY,
                "weblogic.jndi.WLInitialContextFactory");
        prop.put(Context.PROVIDER_URL, "t3://localhost:7001");
        // prop.put(Context.SECURITY_PRINCIPAL, "weblogic");
        // prop.put(Context.SECURITY_CREDENTIALS, "weblogic");

        Context context = null;
        try
        {
            System.out.println(context);
           
            context = new InitialContext(prop);
           
            HelloHome hm = (HelloHome) PortableRemoteObject.narrow(context.lookup("HelloEJB"),HelloHome.class);
           
            HelloRemote hb=(HelloRemote)hm.create();
           
            System.out.println(hb.sayHello("Leboy"));
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
 

    }

}

 

 

 

////////////////////////ejb-jar.xml////////////////////////////////////////////////

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
  <enterprise-beans>
    <session>
      <ejb-name>HelloEJB</ejb-name>
      <home>com.meyacom.ejb.HelloHome</home>
      <remote>com.meyacom.ejb.HelloRemote</remote>
      <ejb-class>com.meyacom.ejb.HelloBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
      <env-entry>
        <description></description>
        <env-entry-name>dburl</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>ome.DbUrl2</env-entry-value>
      </env-entry>
      <env-entry>
        <description></description>
        <env-entry-name>DbUser</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>ome.DbUser2</env-entry-value>
      </env-entry>
      <env-entry>
        <description></description>
        <env-entry-name>DbPassword</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>ome.DbPassword2</env-entry-value>
      </env-entry>
    </session>
  </enterprise-beans>
  <assembly-descriptor>
    <container-transaction>
      <method>
        <ejb-name>HelloEJB</ejb-name>
        <method-intf>Remote</method-intf>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
  </assembly-descriptor>
</ejb-jar>


//////////////////////////////////////weblogic-ejb-jar.xml///////////////////////////////////////////////

<?xml version="1.0"?>

<!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN' 'http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd'>

<weblogic-ejb-jar>
  <weblogic-enterprise-bean>
    <ejb-name>HelloEJB</ejb-name>
    <jndi-name>HelloEJB</jndi-name>
  </weblogic-enterprise-bean>
</weblogic-ejb-jar>

 

 

原创粉丝点击