请问哪位有在orion里成功布署过ejb的?俺刚接触这个东西,一时不知如何下手

rootwuyu 2003-07-16 10:46:37
如题。
...全文
51 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
etre 2003-10-21
  • 打赏
  • 举报
回复
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目录找到。
基本完成,告一个段落。
glassprogrammer 2003-10-21
  • 打赏
  • 举报
回复
http://www.orionserver.com/

去看它的 Tutorials, 那里面的东西都是可以一步一步照做, 直到运行的. 很不错
etre 2003-10-21
  • 打赏
  • 举报
回复
orion是很好的一个EJB Server啊
fengcau 2003-10-20
  • 打赏
  • 举报
回复
www.orionserver.com
document
english version.
bbscbb 2003-07-24
  • 打赏
  • 举报
回复
看看orical的帮助。orical的vorical9ias就是 买的 orion

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧