你用JB9+Weblogic7SP2开发EJB好了
你可以到CSDN的文档中心找一下基本的资料啊

解决方案 »

  1.   

    ejb需要发布和部署,可以用Weblogic或Webspere
      

  2.   

    to dwju1981(灭日屠美) 
    能具体点吗?
      

  3.   

    转载的,希望对你有帮助
    EJB的打包及部署---------
    一、EJB的目录结构
    EJBRoot/(class文件,bean/homeInterface/RemoteInterface ,可以是子目录)
          | 
          +META-INF/- +
                       |
                       +ejb-jar.xml 
                       |
    + weblogic-ejb-jar.xml
    |
    +weblogic-cmp-rdbms-jar.xml(CMP类型的entity Bean
    需要此文件,我们采用的是BMP类型的,不需要这个文件。)二、生成ejb-jar.xml
    ejb-jar.xml用于描述EJB的结构信息,具体的介绍参考weblogic6.0帮助中的.\ejb\ejb_deployover.html。也可以参考http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd.以下举例说明:
    <?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>
    <!--所有的Bean的结构要在<enterprise-beans>与</enterprise-beans>中说明 -->
    <enterprise-beans>
    <!--每一个entity Bean要在<entity>与</entity>中说明其结构 -->
    <entity>
       <!-- entityBeanA不是JNDI Name,在weblogic-ejb-jar.xml中映射到JNDI Name-->
       <ejb-name>entityBeanA</ejb-name>
       <home>pkg.EjbAHome(Home接口的全路径类名) </home>
       <remote> pkg. EjbA (Remote接口的全路径类名)</remote>
       <ejb-class>pkg.EjbABean(Bean的全路径类名)</ejb-class>
       <persistence-type>Bean(表示由Container/Bean管理持续存储)</persistence-type>
       <prim-key-class>java.lang.String(Bean的主键类的全路径类名)</prim-key-class>
       <reentrant>False(True/False)</reentrant>
           <ejb-ref>(EjbABean中使用的其它的Bean)
    <!-- ejb/entityBeanB不是JNDIName,也不是<ejb-name>中指定的名字,在
    weblogic-ejb-jar.xml中映射到JNDI Name,建议已ejb/开头命名 -->
    <ejb-ref-name>ejb/entityBeanB</ejb-ref-name>
    <ejb-ref-type>Entity(Entity/Session)</ejb-ref-type>
    <home>pkg.EjbBHome</home>
    <remote>pkg.EjbB </remote>
       <!-- <ejb-link>中的entityBeanB是<ejb-name>中指定的名字 -->
    <ejb-link>entityBeanB</ejb-link>
    </ejb-ref>
           <resource-ref>(使用的资源,可能不仅仅指数据源,我们仅使用数据源)
              <res-ref-name>jdbc/demoPool(这个名字不是JNDI Name)</res-ref-name>
              <res-type>javax.sql.DataSource(该资源类型是JDBC数据源)</res-type>
              <res-auth>Container(表示由Container/Bean管理该资源)</res-auth>
           </resource-ref>
    </entity>
    <entity>
       <ejb-name>entityBeanB</ejb-name>
       ……………
    </entity>
    <!--每一个Session Bean要在<session>与</session>中说明其结构 -->
    <session>
    <ejb-name>sessionBeanC</ejb-name>
       <home>pkg.EjbCHome(Home接口的全路径类名) </home>
       <remote> pkg. EjbC (Remote接口的全路径类名)</remote>
       <ejb-class>pkg.EjbCBean(Bean的全路径类名)</ejb-class>
       <session-type>Stateful(Stateful/Stateless)</session-type>
           <transaction-type>Container(Container/Bean)</transaction-type>
    <ejb-ref>
    ……与entity Bean格式的相同
    </ejb-ref>
    </session>
    <session>
    <ejb-name>sessionBeanD</ejb-name>
    ………
    </session>
    </enterprise-beans><!—assembly-descriptor 的作用还不是很清楚,主要是处理安全角色,方法许可,事务属性等信息,下面只说明了事务属性,有关安全角色、方法许可还有待研究-->
    <assembly-descriptor>
       <!—可能是指定下列方法由容器负责进行事务处理-->
    <container-transaction>
    <method>
     <ejb-name>entityBeanA</ejb-name>
    <!—指定方法是Home接口的方法还是Remote接口的方法,可以不指定-->
    <method-intf>Remote(Remote/Home)</method-intf>
    <method-name>*(指定所有方法,也可以通过方法名指定)</method-name>
    </method>
    <method>
    …..
    </method>
    <!—指定以上method进行事务处理的方式:NotSupported、 Supports、Required、RequiresNew、Mandatory、Neverà
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
    ……………
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>三、生成weblogic-ejb-jar.xml
    具体的介绍参考weblogic6.0帮助中的.\ejb\reference.html
    <?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'>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name> entityBeanA (对应ejb-jar.xml中的<ejb-name>)</ejb-name>
    <!—指定该Bean允许在内存中最大的实例数量,可以不指定,默认=100-->
    <caching-descriptor>
    <max-beans-in-cache>100</max-beans-in-cache>
    </caching-descriptor>
    <reference-descriptor>
    <resource-description>
    <!--对应ejb-jar.xml中的<res-ref-name>-->
    <res-ref-name>jdbc/demoPool</res-ref-name>
    <!--Weblogic中数据源的jndi Name-->
    <jndi-name>myDataSource</jndi-name>
    </resource-description>
    <ejb-reference-description>
    <!--对应ejb-jar.xml中的< ejb-ref-name >
    <ejb-ref-name> ejb/entityBeanB </ejb-ref-name>
    <jndi-name>myApp. EntityBeanB</jndi-name>
    </ejb-reference-description>
    </reference-descriptor>
    <jndi-name>myApp.EntityBeanA(客户端要lookup的jndi name)</jndi-name></weblogic-enterprise-bean>
    <ejb-name> entityBeanB (对应ejb-jar.xml中的<ejb-name>)</ejb-name>
    ……….
    <jndi-name>myApp.EntityBeanB</jndi-name>
    <weblogic-enterprise-bean>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>四、生成weblogic-cmp-rdbms-jar.xml ,我们不使用,忽略五、利用JAR工具将整个目录中的文件打包成.JAR文件。
       cd EJBRoot (EJBRoot目录)
    Jar cvf myApp.jar .
    六、利用weblogic.ejbc”编译”.jar文件
    回到EjbRoot的上一层目录(好像在EJBRoot中也可以,但是会产生错误信息)。
    cd..
    javac weblogic.ejbc EJBRoot/myApp.jar myApp.jar
    完毕后会在EjbRoot的上一层目录产生”编译”后的myApp.jar,此文件作为部署文件。
    注意:执行weblogic.ejbc必须在环境变量ClassPath中包括
    .\bea\wlserver6.0\lib\Weblogic.jar
    我们可以制作一个批文件ejbc.bat,如下
    @echo off
    SETLOCAL
    Set 
    CLASSPATH=%CLASSPATH%;C:\bea\wlserver6.0\lib\Weblogic_sp.jar;C:\bea\wlser
    ver6.0\lib\Weblogic.jar;C:\bea\utils\utils.jar;C:\bea\wlserver6.0\lib\cr_wls60f.jar;C:\be
    a\wlserver6.0\lib\JSQLConnect.jar
    set JAVA_HOME=C:\bea\jdk130
    "%JAVA_HOME%\bin\java" -classpath %CLASSPATH% weblogic.ejbc %1 %2
    ENDLOCAL执行 ejbc EJBRoot/myApp.jar  myApp.jar即可。也可以先执行BEA_HOME\config\mydomain\setEnv.cmd来设置环境变量,然后
    执行weblogic.ejbc七、部署EJBApp
    打开Weblogic的控制台。
    在左边树中点击domain/Deployments/EJB节点.
    在右边选择”Install a new EJB…”超链接
    通过”浏览”按钮选择第四步生产的.JAR文件。
    点击”Upload”部署EJBApp。附:我们可以把五、六合起来,写成一个批文件 make.bat@echo off
    SETLOCAL
    Set CLASSPATH=%CLASSPATH%;C:\bea\wlserver6.0\lib\Weblogic_sp.jar;C:\bea\wlserver6.0\lib\Weblogic.jar;C:\bea\utils\utils.jar;C:\bea\wlserver6.0\lib\cr_wls60f.jar;C:\bea\wlserver6.0\lib\JSQLConnect.jar
    set JAVA_HOME=C:\bea\jdk130
    cd %1
    %JAVA_HOME%\bin\jar cvf %2 .
    cd ..
    "%JAVA_HOME%\bin\java" -classpath %CLASSPATH% weblogic.ejbc %1\%2 %2
    cd %1
    del %2
    ENDLOCALMake c:\myapp aaa.jar
      

  4.   

    EJB只是个组件,只能部署到EJB容器上才可以运行。
    用JB+WEBLOGIC8.1的话,很方便就可以完成部署。查查资料,应该有很多这方面的。
      

  5.   

    EJB是一种中间件,它不能直接运行只能被调用。用jbuilder和weblogic开发简单、方便。