文档章节

2010(初次接触EJB 小节)

Oym-D
 Oym-D
发布于 2012/02/28 15:08
字数 782
阅读 77
收藏 2

初次体验了下EJB的开发 今天整理了下

企业中就我自己公司里面对于EJB的使用做一次切身的体会

配置数据源,因为Ejb工程 是要部署到jboss的 所以在jboss里面配置数据源和tomcat里面多少有些出入

① 配置数据源的信息

 mysql数据库 

你最好在JBoss\server\default\deploy的deploy文件夹下

新建一个专门的配置数据源的xml文件 内容如下:

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

<datasources>

   <local-tx-datasource>

        <jndi-name>MySqlDS</jndi-name>  <connection-url>jdbc:mysql://localhost:3306/lxzq</connection-url>

        <driver-class>com.mysql.jdbc.Driver</driver-class>

        <user-name>用户名</user-name>

        <password>密码</password>

        <min-pool-size>10</min-pool-size>

        <max-pool-size>100</max-pool-size>

    </local-tx-datasource>

</datasources>

②  在ejb的工程中改如何获取到MySqlDS数据源

使用了JTA机制来获取数据源

需要在工程的META-INF文件夹下建立一个名为persistence的xml文件

内容如下:

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

<persistence xmlns="http://java.sun.com/xml/ns/persistence"

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence

             http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"

 version="1.0">

<persistence-unit name="ActivityCore"> <!--工程名 -->

<jta-data-source>java:/MySqlDS</jta-data-source><!--MySqlDS你所配置的数据源的名称-->

<!--关于数据库操作信息的配置 -->

<properties>

<property name="hibernate.hbm2ddl.auto" value="update"/>

<property name="hibernate.show_sql" value="true"/>

<property name="hibernate.format_sql" value="false"/>

</properties>

</persistence-unit>

</persistence>

③一个EJB组件如何给web工程调用(使用到了spring和hibernate)

在分布式的应用开发中 如果你的工程前端是用的J2EE 后端的逻辑在EJB中做处理的时候

 在EJB的开发中都是提供Entity ,Interface ,Impl,Bean 问题的重点是这个Interface怎么能让前端的工程调到

同样的通过配置文件来解决

前端的工程里面写上一个资源文件

暂且叫做jndi.properties

内容

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

java.naming.provider.url=jnp://jboss:1099 指定你的jboss服务器的ip地址 我这里是在hosts文件中做了域名的映射127.0.0.1 jboss


Hosts文件存在的位置C:\windows\system32\drivers\etc下面

这还只是指定服务器 创建jndi的环境

在工程的src或者它的下级目录的文件夹下

建立一个xml文件

内容


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

<beans xmlns="http://www.springframework.org/schema/beans"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xmlns:p="http://www.springframework.org/schema/p"

   xmlns:tx="http://www.springframework.org/schema/tx"

   xmlns:aop="http://www.springframework.org/schema/aop"

   xmlns:context="http://www.springframework.org/schema/context"

   xmlns:util="http://www.springframework.org/schema/util"

   xmlns:jee="http://www.springframework.org/schema/jee"

   xsi:schemaLocation="http://www.springframework.org/schema/beans

       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

       http://www.springframework.org/schema/tx

       http://www.springframework.org/schema/tx/spring-tx-2.5.xsd

       http://www.springframework.org/schema/aop

       http://www.springframework.org/schema/aop/spring-aop-2.5.xsd

       http://www.springframework.org/schema/context

       http://www.springframework.org/schema/context/spring-context-2.5.xsd

       http://www.springframework.org/schema/util

       http://www.springframework.org/schema/util/spring-util-2.5.xsd

       http://www.springframework.org/schema/jee

       http://www.springframework.org/schema/jee/spring-jee-2.5.xsd">

<!-- 创建JNDI环境 -->

<!--id随便起的 -->

<util:properties id="log.jndiEnvironment" location="classpath:xx/xx/jndi.properties"/>

<!-- 初始化EJB存根 -->

<jee:jndi-lookup id="EJB的接口标识(起个有意义的名字)"

 proxy-interface="xxxx.IAdminxxxService" 

<!-- 专门提供给后台管理使用的Interface -->

 jndi-name="AdminXXService/remote"

 environment-ref="log.jndiEnvironment"/><!--utilid -->

<jee:jndi-lookup id="EJB的接口标识(起个有意义的名字)"

<!-- 专门提供给网站前端使用的Interface -->

 proxy-interface="xxxx.IWebXXService"

 jndi-name="WebXXService/remote" 

<!--jboss发布的服务名(你的实现类的类型)/远程 -->

 environment-ref="log.jndiEnvironment"/>

<!-- 依赖注入jndi-->

</beans>

© 著作权归作者所有

Oym-D
粉丝 11
博文 6
码字总数 2304
作品 0
武汉
高级程序员
私信 提问
JSP是否该淘汰了

在现在前后端分离的大势下,JSP是否走到了尽头; 我之前所知道的JSP相比JS+Ajax的模式的优势有: 1、JS+Ajax不容易被搜索引擎爬取; 2、开发速度快; 3、减少服务器请求 如今发现这些优势已不...

狂暴虐杀者
2018/05/09
5K
10
毕业设计2(解决了后台servlet的配置问题)

今天没有做太多的东西,主要是想要建立起后台,用于登录和回传数据,遇到的问题主要是一些IDE和servlet的问题, 第一就是tomcat的server.xml的设置问题,怎样将你的webapp通过server.xml的配...

土匪强
2012/01/23
158
0
tomcat 5.5 部署项目报错 关于Filter的错误。。

我在tomcat7.0部署没不报错,但是再tomcat5.5就会报错。。 listener.ContextListener UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter logLevel WARN UrlRewriteFilte......

庄泽锐
2014/03/06
1K
5
oscache缓存的页面为乱码

项目用的oscache,用的web.xml配置 CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8   forceEncoding   true    CharacterEncodingF......

kkli
2014/03/13
398
1
Tomcat 容器与servlet的交互原理

Tomcat 是Web应用服务器,是一个Servlet/JSP容器. Tomcat 作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户.而Servlet是一种运行在支持Java语言的服务器...

watermelon11
02/25
138
0

没有更多内容

加载失败,请刷新页面

加载更多

二叉查找树的第 K 个结点

private TreeNode ret;private int cnt = 0;public TreeNode KthNode(TreeNode pRoot, int k) { inOrder(pRoot, k); return ret;}private void inOrder(TreeNode root......

Garphy
53分钟前
4
0
windo8 weblogic

需要的软件包 现在安装jdk 则先进入你电脑自带jdk \bin目录下 然后java -jar 执行你的jar包就可以了 欢迎界面直接点击下一步,跳到更新界面,直接选择跳过 然后选择安装目录(注意:目录不要有...

恩多
今天
8
0
Activiti 批注

Activiti添加批注(comment)信息 在每次提交任务的时候需要描述一些批注信息,例如:请假流程提交的时候要描述信息为什么请假,如果领导驳回可以批注驳回原因等  1、添加批注 // 由于流程...

奔跑的android
今天
4
0
centos7命令行和图形界面的相互切换

最近安装了centos7,发现在命令行和图形界面的相互切换命令上,与centos以往版本有很大不同。 1,centos7默认安装后,跟其他版本一样,启动默认进入图形界面; 2,在图形化桌面,右击鼠标,选...

无名氏的程序员
今天
6
0
快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么

一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在...

Bb进阶
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部