看看orical的帮助。orical的vorical9ias就是 买的 orion

解决方案 »

  1.   

    www.orionserver.com
    document
    english version.
      

  2.   

    orion是很好的一个EJB Server啊
      

  3.   

    http://www.orionserver.com/去看它的 Tutorials, 那里面的东西都是可以一步一步照做, 直到运行的. 很不错
      

  4.   

    3、Orion应用服务器的安装与配置和测试
    一、 准备
    你必须有以下条件: 
    JDk1.22或者更高版本 
    Java 3 Enterprise Edition(J2EE) 
    Orion Application Server 1.38或者更高版本 
    Jakarta-Ant(用这个工具打包EAR文件,在下载的ZIP文件中,已经建立好了,所以,该工具可以不要)二、下载文件: 
    http://www.wodejia.net/softdownload/java/Test20Cmp.zip 
    解开后,建立如下结构: 
    X:\Orion-test-apps\Test20Cmp\eb\:该目录下包含java bean文件 
    X:\Orion-test-apps\Test20Cmp\servlet:该目录下有servlet的java文件 
    其中,X为你的本地硬盘 
    [自己打包EAR文件的方法: 进入X:\Orion-test-apps目录运行: ant -buildfile package.xml ] 
    三、配置: 
    X:\j2sdkee1.2.1\lib\j2ee.jar 
    和 
    X:\Orion-test-apps 
    加到CLASSPATH环境变量中 
    另外,Orion\config目录下修改2个文件: 
    server.xml中, 在</application-server>之前,加: 
    <application name="SampleEb20" path="c:\Orion-test-apps\Test20Cmp\rel\SampleEb20-ver001a.ear" /> 
    default-web-site.xml中,</web-site>之前,加: 
    <web-app application="SampleEb20" name="SampleEb20-ver001a-web" root="/Test20Cmp" /> 
    四、测试运行 
    重新启动Orion Application Server 
    http://localhost[port]/Test20Cmp/Test20 
    将显示: 
    Sample20Eb GET Called 
    Command 下Orion将有类似下面的输出: 
    MakeSample20Eb.doPost() called 
    new InitialContext being called 
    context.lookup being called 
    PortableRemoteObject.narrow being called 
    home.create being called 
    ... ... 
    makeNew method has returned 
    五、检测数据 
    进入Orion\bin目录下,启动Orion下自己带的数据库工具: 
    java -cp hsql.jar DatabaseManager 
    在URL中输入: 
    jdbc:HypersonicSQL:../database/defaultdb 
    点“OK”将进入数据库管理。 
    关于Orient的安装心得。
    一、到http://www.orientserver.com下载最新的orion包,本人下载的是orion1.45。
    二、下载后解压到x:。X:为用户自定义盘符。解压后的目录为x:\orion。本人的安装后目录为d:\orion
    三、把jdk中的tools.jar考贝到x:\orion目录下。现在就可以用java –jar orion.jar起到orion了。
    四、ejb的测试。本人用的Edsuser来测试。其各个文件如下。ejb-jar.xml
    <?xml version="1.0" encoding="GBK"?>
    <!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>
    <enterprise-beans>
    <entity>
    <ejb-name>Edsuser</ejb-name>
    <home>com.ejb.source.EdsuserHome</home>
    <remote>com.ejb.source.Edsuser</remote>
    <ejb-class>com.ejb.source.EdsuserBmp</ejb-class>
    <persistence-type>Bean</persistence-type>
    <prim-key-class>com.ejb.source.EdsuserPk</prim-key-class>
    <reentrant>False</reentrant>
    <resource-ref>
    <res-ref-name>jdbc/oraclepool</res-ref-name>     //在Bean中调用用如下的参数java:comp/env/jdbc/oraclepool
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </entity>
    <entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>Edsuser</ejb-name>
    <method-name>*</method-name>
     </method>
    <trans-attribute>Required</trans-attribute>
     </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    <?xml version="1.0"?>
    <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
    application.xml的内容
    <application>
    <display-name>edsuser</display-name>
    <module>
    <ejb>Edsuser</ejb> //这里jar文件的名字。
    </module>
    </application>
    数据库参数的配置:data-sources.xml文件中加入如下:
    <data-source
    class="com.evermind.sql.DriverManagerDataSource"//不变得,Orion定下的。
    name="oracle"
    location="jdbc/oraclepool"
    xa-location="jdbc/xa/OraclepoolXADS"//用记自己取名
    ejb-location="jdbc/oraclepool"//在ejb-jar.xml文件中一至和在Bean中一至。
    connection-driver="oracle.jdbc.driver.OracleDriver"
    username="eds"
    password="eds2000"
    url="jdbc:oracle:thin:@210.38.2.210:1521:ora8"
    inactivity-timeout="30"
    />
    发布EJB的jar文件。
    jar文件,本人是Edsuser.jar文件
    application.xml文件、ejb-jar.xml文件。
    编辑server.xml文件。在其中加入如下。
    <application name="e-scmejb" path="d:\orionejb\" />  // e-scmejb临时名字发布后的目录。d:\orionejb\ Jar所在的文件的目录
    orion有点怪,发布时在application.xml文件的jar文件名<module>是Edsuser。而在d:\orionejb\必须建立一个Edsuser目录,然后把Edsuser.jar放在Edsuser目录下。同时在此目录下必须建立目录META-INF放所有的xml文件。同时还必须把所有编译后的class文件放在Edsuser目录下的包路径中,发布时才能找到,如果不这样做,不能发布,本人的package路径是com.ejb.source所以在Edsuser目录中建立com/ejb/source目录把class文件全部放在下面。才可以发布。
    编译Jar文件可以用下面的build文件,内容如下:
    set JAVA_HOME=c:\jdk1.2.2
    set ORION_HOME=d:\orion
    @echo.
    @echo ============== Building eds entity EJB============
    @echo.
    set JDK_CLASSES=%JAVA_HOME%\lib\tools.jar
    set CLASSPATH=.;%JDK_CLASSES%;%ORION_HOME%\orion.jar;% ORION _HOME%\ejb.jar;% ORION _HOME%\ jndi.jar
    set PATH=%JAVA_HOME%\bin;%PATH%
    set JAVAC=%JAVA_HOME%\bin\javac
    @echo.
    @echo ============== Building Jboss entity EJB============
    @echo.
    mkdir ejbtemp
    mkdir ejbtemp\META-INF
    %JAVAC% -d ejbtemp *.java
    copy *.xml ejbtemp\META-INF
    cd ejbtemp
    jar vcf Edsuser.jar com/ejb/jest/*.class  META-INF com
    jar -tvf Edsuser.jar
    cd ..
    @echo on
    @echo.
    客户端的运用如下:
    import java.rmi.RemoteException;
    import javax.ejb.*;
    import javax.naming.*;
    import javax.rmi.PortableRemoteObject;
    import java.io.*;
    import com.ejb.source.*;
    import java.util.*;
    public class EdsuserClient{
         public static void main(String[] args){
         try
            {
                   Hashtable environment = new Hashtable();
    environment.put("java.naming.factory.initial","com.evermind.server.rmi.RMIInitialContextFactory");
                    environment.put("java.naming.provider.url","ormi://etre/e-scmejb");//前面server.xml取得名字
                    environment.put("java.naming.security.principal", "admin");//可以在principals.xml文件中看到用户和密码。
                    environment.put("java.naming.security.credentials", "123");
                    InitialContext context = new InitialContext(environment);               Object homeObject = context.lookup("Edsuser");
     EdsuserHome home = (EdsuserHome)PortableRemoteObject.narrow(homeObject, EdsuserHome.class);
                             Collection list=home.findAll();
                             System.out.println("list:"+list);
                             Iterator itr = list.iterator();    
                             while(itr.hasNext()){      
                             Edsuser dnt = (Edsuser)itr.next();
             System.out.println(dnt.getUserid()+":"+dnt.getUname());
             }   
            
              Object homeeObject = context.lookup("Issuedeliver");//这里找的是在ejb-jar.xml文件中的ejb名字就是<ejb-name>Edsuser</ejb-name>中的参数,而不是jar文件名
         IssuedeliverHome homee =(IssuedeliverHome)PortableRemoteObject.narrow(homeeObject, IssuedeliverHome.class);
    Collection Listt=homee.findAll();
                             System.out.println("listt:"+Listt);
                             Iterator itrr = Listt.iterator();    
                             while(itrr.hasNext()){      
                             Issuedeliver idv = (Issuedeliver)itr.next();
             System.out.println(idv.getIoid()+":"+idv.getDnid());
             }   
    }
    catch(Exception e)
    {
    System.err.println("Error creating cart: " + e.getMessage());
    }
    }
    }
    客户端的classpath路径发布包含的包有orion.jar; ejb.jar; jndi.jar都可以在Orion目录找到。
    基本完成,告一个段落。