请问哪位有在orion里成功布署过ejb的?俺刚接触这个东西,一时不知如何下手 看看orical的帮助。orical的vorical9ias就是 买的 orion 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 www.orionserver.comdocumentenglish version. orion是很好的一个EJB Server啊 http://www.orionserver.com/去看它的 Tutorials, 那里面的东西都是可以一步一步照做, 直到运行的. 很不错 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-sourceclass="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.2set ORION_HOME=d:\orion@echo.@echo ============== Building eds entity EJB============@echo.set JDK_CLASSES=%JAVA_HOME%\lib\tools.jarset CLASSPATH=.;%JDK_CLASSES%;%ORION_HOME%\orion.jar;% ORION _HOME%\ejb.jar;% ORION _HOME%\ jndi.jarset PATH=%JAVA_HOME%\bin;%PATH%set JAVAC=%JAVA_HOME%\bin\javac@echo.@echo ============== Building Jboss entity EJB============@echo.mkdir ejbtempmkdir ejbtemp\META-INF%JAVAC% -d ejbtemp *.javacopy *.xml ejbtemp\META-INFcd ejbtempjar vcf Edsuser.jar com/ejb/jest/*.class META-INF comjar -tvf Edsuser.jarcd ..@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目录找到。基本完成,告一个段落。 请教,要成为JAVA牛人,要学哪些? PreparedStatement中拼接sql的时候要||对程序有什么影响 jsp页面背景颜色 问个SSH框架里的事务的问题 Ibatis新手错误 明天她就搬过来了,刚在我这吃了饭 关于org.apache.commons.net对中文支持的问题 Java中TextField 的问题。 高分求助jboss的配置问题,我配置了一周都没成功,都快疯了!!! mybatis会如何处理类型为java.sql.Date的参数 应用Struts后,该如何配置apache服务器 struts config 问题
document
english version.
一、 准备
你必须有以下条件:
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目录找到。
基本完成,告一个段落。