您的位置:首页 > 其它

(老)EJB JBoss CMP学习笔记

2011-07-26 08:05 369 查看
1.准备

JBuilder 2006

JBoss 4.0

MSSQL 2000

MSSQL 2000 JAR

启动MSSQL2000

2.复制MSSQL2000 JAR包到 JBuilder2006\lib\ext和jboss-4.0.0\server\default\lib中

3.配置数据源

从jboss-4.0.0\docs\examples\jca中选择一个mssql-ds.xml复制到jboss-4.0.0\server\default\deploy目录中

可以根据不同数据库选择不同的XML文件

4.修改配置文件

修改前

<datasources>

<local-tx-datasource>

<jndi-name>MSSQLDS</jndi-name>

<connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyDatabase</connection-url>

<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>

<user-name>x</user-name>

<password>y</password>

<!-- sql to call when connection is created

<new-connection-sql>some arbitrary sql</new-connection-sql>

-->

<!-- sql to call on an existing pooled connection when it is obtained from pool

<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>

-->

<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->

<metadata>

<type-mapping>MS SQLSERVER2000</type-mapping>

</metadata>

</local-tx-datasource>

</datasources>

修改后

<datasources>

<local-tx-datasource>

<jndi-name>pubs</jndi-name>

<connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs</connection-url>

<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>

<user-name>sa</user-name>

<password></password>

<!-- sql to call when connection is created

<new-connection-sql>some arbitrary sql</new-connection-sql>

--> <!-- sql to call on an existing pooled connection when it is obtained from pool

<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>

--> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->

<metadata>

<type-mapping>MS SQLSERVER2000</type-mapping>

</metadata>

</local-tx-datasource> </datasources> 5.启动JBoss

注意查看命令行会出显

rce adapter for ConnectionManager 'jboss.jca:service=DataSourceBinding,name=pubs

to JNDI name 'java:pubs'

说明服务器配置好服务器 6.打开JBuider创建工程
7.配置数据源

在JBuilder菜单[Tools]->[Database Pilot]中配置数据源

Database pilot菜单[View]->[Options]->[Drivers]->[Add]

中输入MSSQL2000 驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver

Sample URL:microsoft:sqlserver://localhost:1433;DatabaseName=pubs

Database pilot菜单[File]->[New]->[Driver]中选择MSSQL2000驱动

测试连接成功 8.在JBuilder中添加Web Module 选择JBoss服务器(如果没有需要配置)一路 NEXT 9.在JBuilder中添加EJB Module一路 NEXT
10.在JBuilder中DataSources中[Import Schema From DataBase]

[Choose Existing Connection]选择第7步配置好的数据源

[All schemas]打钩

修改[JNDI name]为 java:pubs <--第四步配置 第五步出现的JNDI名 11.在[DataSources]中选择一张表[jobs]创建CMP,修改CMP为 local/Remote
12.在CMP中增加一个Finder-->findAll

Return Type:java.util.Collection

EJB QL Query:select object(o) from Jobs o
13. Make工程,将生成的Jar包部署,在控制台会出现

INFO [EjbModule] Deploying Jobs

INFO [EJBDeployer] Deployed: file:/D:/jboss-4.0.0/jboss-4.0.0/serv

er/default/deploy/ejbtst.jar

如果出错请检查以上步骤.
14.测试EJB

创建一个测试类

在测试类的Main函数中添加如下代码 JobsTestClient1 client = new JobsTestClient1();

Iterator it =client.findAll().iterator();

try {

  while(it.hasNext()){

   JobsRemote job=(JobsRemote)it.next();

   System.out.println("job.getJobId()=" + job.getJobId());

   System.out.println("job.getJobDesc()=" + job.getJobDesc());

   System.out.println("-------------------------------------------------");

  }

} catch (Exception ex) {

  ex.printStackTrace();

}

15.运行测试程序,正确会显示数据,如果出错请检查以上步骤
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: