JFox(J2EE应用服务器开源项目)

JFoxEJB


(by huihoo.org JFox项目组)

JFoxEJB 功能

。支持JCA (connector)
。实现了EJB2.0的所有规范
。实现了cluster
。实现jta,并增加了jdbc直接事务处理功能(JBoss没有),主要针对单数据源的事务处理。
。实现了jdbc transaction(针对单数据源比jta快)
。完成 EJB 的 Naming Service

安装、部署

一、安装和运行系统的例子
二、部属用户自己的ejb-jar
三、服务器的配置
 
安装和运行系统的例子

(1). 解压.zip到本地硬盘 d:\

    Example : d:\jfox-ejb-0.1.1

(2). cd %JFox-EJB安装根目录%/bin

-- 执行run(只启动应用服务)
GMS: address is huihoo:2171

-- 执行run tomcat(启动应用服务和jsp服务) 此时:GMS: address is huihoo:2281

注释:GMS是Group membership protocol的缩写,是javagroups提供的群组成员关系协议,它提供JFox集群的底层群组关系维护,动态节点发现,等等一些功能。 GMS: address is huihoo:2171 表示当前节点的地址,现在JFox版本在集群方面只实现了HAJNDI,在以后的版本会提供ejb的集群。(zth补充)

(3). 运行系统自带的客户端的例子

-- 安装ant1.4
set classpath=%classpath%;D:\jakarta-ant-1.4\lib\ant.jar

-- cd %jfox安装目录%\examples\build

-- 执行
ant stateless (生成statelessexample.jar)

ant stateless-client-compile (生成stateless session bean 的客户端)

ant stateful (生成statefulexample.jar)

ant stateful-client-compile (生成stateful session bean 的客户端)

ant entitycmp (生成entitycmpexample.jar)

ant entitycmp-client-compile (生成entity session bean 的客户端)

ant jdbctransaction (生成jdbctransaction.jar , for oracle)

ant mdbqueue (生成mdb.jar)

ant mdbqueue-client-compile (生成mdb的测试客户端)

-- 执行客户端

ant stateless-client (执行stateless 客户端)

ant stateful-client (执行stateful 客户端)

ant entitycmp-client-insert (向数据库中插入数据)

ant entitycmp-client-listall (列举数据库中的数据)

ant entitycmp-client-delete (删除数据)

ant cmpmanager 启动hssql db manager
type -- hsql database engine server
driver -- org.hsqldb.jdbcDriver
url -- jdbc:hsqldb:hsql://localhost:1476
user -- sa
password --

ant queuesend

-- 如果启动了tomcat,则打开 IE .

http://localhost:8080/stateless.jsp

= 执行ant stateless-client

http://localhost:8080/stateful.jsp

= 执行ant stateful-client

http://localhost:8080/entitycmplist.jsp

= 执行ant entitycmp-client-listall

 

部属用户自己的ejb-jar

-- 将用户自定义的ejb包(含remote/home/bean/others classes),

拷贝到%JFox安装根目录%/beans 目录下。重启jfox,系统会自动

加载beans目录下的所有的ejb包。

-- JFox-EJB已经包含了mssql6.X/7/2000的driver.如果有mysql/sybase/oracle/db2 的jdbc driver请拷贝到

%JFox安装根目录%/lib/third目录下。同时需要配置

%JFox安装根目录%/xml/jdbcpool-service.xml

Example:

<!-- for sql 7.0 or sql 2000 -->
<jdbcpool>
<config-property name="JndiName">startlight/jdbc/sqlserver70</config-property>
<config-property name="ConnectionURL">jdbc:twtds:sqlserver://localhost:1433/test;TDS=7.0</config-property>
<config-property name="DriverClass">com.thinweb.tds.Driver</config-property>
<config-property name="UserName">sa</config-property>
<config-property name="Password"></config-property>
<config-property name="MinSize">5</config-property>
<config-property name="MaxSize">50</config-property>
</jdbcpool>

 

服务器的配置

-- 在系统引导自己的MBean

配置%JFox安装根目录%/xml/jfox-service.xml

Example:

<?xml version="1.0" encoding="UTF-8"?>

<!-- JFox Server Configuration -->

<server>

....

<mbean thread="false" wait="true" name="jfox:service=JMSProviderLoader">
<classname>org.huihoo.jfox.ejb.server.deploy.jms.JMSProviderLoader</classname>
</mbean>

</server>

说明:

thread 默认值false,true表示系统启动一个thread来加载

wait 默认值false,true表示系统将等待,只到该MBean完全加载成功后,再加载下一个

name MBean的ObjectName

<classname> MBean class(不是接口)