你现有jb把他达成jar包,然后进入weblogic控制台,你看看左边的树桩的菜单,很简单的
我也极不清楚了

解决方案 »

  1.   

    不用jb?
    哦,呵呵,厉害嘛...
    那也要先打包呀 !
    不打包应该也行吧,可太麻烦了..那那些xml文件你怎么弄? 自己写??? 
     ------------------------------------------------------
               我们还年轻牛奶会有的奶牛也会有的 
      

  2.   

    csdn 文档中心就有,自己去找... ------------------------------------------------------
               我们还年轻牛奶会有的奶牛也会有的 
                 可天天在 csdn 混这些会有吗 ??
      

  3.   

    所有文件方同一目录build.cmd:
    md build
    javac -d build Hello.java HelloHome.java HelloBean.java
    md  build\Meta-inf
    copy *.xml build\Meta-inf
    md build\images
    copy *.gif build\images
    cd build
    jar cv0f std_myfirstejb_hello.jar META-INF *.class images
    cd ..
    java weblogic.ejbc -compiler javac build\std_myfirstejb_hello.jar build\myfirstejb_hello.jar
    ****************************
    build_client.cmd:
    md client
    copy HelloClient.java client
    copy build\Hello.class client
    copy build\HelloHome.class client
    cd client
    javac HelloClient.java
    ********************************
    ejb-jar.xml:
    <?xml version="1.0"?><!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'><ejb-jar>
    <small-icon>images/green-cube.gif</small-icon>
    <enterprise-beans> <session>
    <small-icon>images/orange-cube.gif</small-icon> <ejb-name>MyFirstEJB</ejb-name>

    <home>HelloHome</home>

    <remote>Hello</remote>

    <ejb-class>HelloBean</ejb-class>

    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    </enterprise-beans> <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>MyFirstEJB</ejb-name>
    <method-intf>Remote</method-intf>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    **********************************
    Hello.java:
    //本接口需要引入的类或接口
    import javax.ejb.EJBObject;
    import java.rmi.RemoteException;//定义远程接口,必须继承EJBObject
    public interface Hello extends EJBObject {
    //定义业务逻辑方法
    public  String sayHello()
    throws RemoteException;
    }
    ***********************
    HelloBean.java:
    //本类需要引入的类或接口
    import javax.ejb.CreateException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;//实现业务逻辑,必须实现SessionBean接口
    public class HelloBean implements SessionBean {
      //这是个会话EJB,声明会话上下文
      private SessionContext ctx;
      //声明字符串
      private String words;
      //接口SessionBean中定义的方法,必须实现
      public void setSessionContext(SessionContext ctx) {
        this.ctx = ctx;
      }
      //接口SessionBean中定义的方法,必须实现
      public void ejbActivate() {
      }
      //接口SessionBean中定义的方法,必须实现
      public void ejbPassivate() {
      }
      //接口SessionBean中定义的方法,必须实现
      public void ejbRemove() {
      }
      //和主接口定义对应的方法,必须实现
      public void ejbCreate() throws CreateException {
       words = "Hello World";
      }
      //供客户端调用的业务逻辑方法,这里只简单的打印字符串,并把字符串返回到客户端
      public String sayHello()
      {
       System.out.println("I am in an EJB of Server ."+words);
       return words;
      }
    }
    ****************************
    HelloClient.java:
    //本类需要引入的类或接口
    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;/**
     * 这是EJB的客户端测试程序
     */public class HelloClient {  private static final String JNDI_NAME = "HelloHome";  private String url;
      private HelloHome home;  public HelloClient(String url)
        throws NamingException
      {    this.url       = url;
        
        home = lookupHome();
      }
      
      void test()
        throws RemoteException,CreateException
      {
        Hello hello = (Hello) PortableRemoteObject.narrow(home.create(), Hello.class);
        System.out.println("I am in client. "+hello.sayHello());
      }
      /**
       * 运行这个实例:
       * java HelloClient t3://localhost:7001
       */
      public static void main(String[] args) throws Exception {    System.out.println("\n客户端程序测试开始...\n");    String url       = "t3://localhost:7001";
        
        // 解析命令行
         if (args.length != 1) {
          System.out.println("用法: java HelloClient t3://hostname:port");   
          return;
        } else {
          url = args[0];
        }
        HelloClient client = null;
        try {
          client = new HelloClient(url);
        } catch (NamingException ne) {
          System.exit(1);
        }
        try {
          client.test();
        } catch (Exception e) {
         System.exit(1);
        } 
        System.out.println("\n客户端程序测试结束...\n");
      }
      /**
       * 查找 EJB 的主接口
       */
      private HelloHome lookupHome()
        throws NamingException
      {
         Context ctx = getInitialContext();
         Object home = ctx.lookup(JNDI_NAME);
         return (HelloHome) PortableRemoteObject.narrow(home, HelloHome.class);
      }  /**
       * 使用属性对象获取上下文
       */
      private Context getInitialContext() throws NamingException {
          Properties h = new Properties();
          h.put(Context.INITIAL_CONTEXT_FACTORY,
             "weblogic.jndi.WLInitialContextFactory");
          h.put(Context.PROVIDER_URL, url);
          return new InitialContext(h);
      }
    }
    *************************************
    HelloHome.java:
    //本接口需要引入的类或接口
    import java.rmi.RemoteException;
    import javax.ejb.CreateException;
    import javax.ejb.EJBHome;//定义主接口,必须继承EJBHome 
    public interface HelloHome extends EJBHome {
      //定义EJB创建方法
      Hello create() throws CreateException, RemoteException;
    }
    **************************
    weblogic-ejb-jar.xml:
    <?xml version="1.0"?><!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN' 'http://www.bea.com/servers/wls510/dtd/weblogic-ejb-jar.dtd'>
    <!--EJB部署说明文件-->
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <!--EJB名-->
    <ejb-name>MyFirstEJB</ejb-name>
    <!--定义EJB最大缓冲池-->
    <caching-descriptor>
    <max-beans-in-free-pool>100</max-beans-in-free-pool>
    </caching-descriptor>
    <!--定义EJB jndi名称-->
    <jndi-name>HelloHome</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
      

  4.   

    说的我真是无地自容!
    csdn 文档中心 在哪里呀???
      

  5.   

    http://www.csdn.net/develop/list_article.asp?bigclassid=6 ------------------------------------------------------
               我们还年轻牛奶会有的奶牛也会有的 
                 可天天在 csdn 混这些会有吗 ??
      

  6.   

    我以前也认为高手应该能手写部署文件,现在觉得这纯粹是没事找事,hoho
    mastering ejb2 的例子都有源代码,包括部署文件,连打好的jar包都有
    如果想手动部署
    class/
    META-INF/
    把ejb-jar.xml和weblogic-ejb-jar.xml放到META-INF/
    jar cf A.jar *
    然后用ejbc编译下
    java weblogic.ejbc -verbose a.jar a.jar
    记得要把weblogic加到classpath里去
    如果编译没错,就可以放到application目录下去了,重新启动应用,就ok