EJB通过注解方式注入并使用其他EJB或者服务、配置JBoss数据源
通过注解方式注入并使用其他EJB或者服务
真实项目EJB对象很多,EJB之间也可以互相调用,
在项目HelloWorld下新建接口Other在cn.hqu.ejb3下:
public
interface Other {
public
abstract String sayMe();
}
新建实现类OtherBean在cn.hqu.ejb3下:
public
class OtherBean implements Other {
@Override
public String sayMe() {
return
"Other";
}
}
将Javabean变成无状态会话bean,接口默认是本地接口:
@Stateless
public
class OtherBean implements Other {
@Override
public String sayMe() {
return
"Other";
}
}
在HelloWorldBean调用OtherBean里面的方法,
获取OtherBean里面的方法:
得到一个EJB对象采用两种方法:采用JNDI查找,采用依赖注入。
通过JDNI查找:
把EJB部署到Jboss:运行Ant,deploy。
修改客户端代码:EJBCLient
public
classEJBClient {
public
static void main(String[] args) {
try {
InitialContextctx = newInitialContext();
HelloWorldhelloworld = (HelloWorld) ctx
.lookup("HelloWorldBean/remote");
System.out.println(helloworld.sayHello("注入的苏志达"));
}catch(NamingException e) {
e.printStackTrace();
}
}
}
运行main输出:注入的苏志达说:你好!Other,
调用成功。
代码:http://pan.baidu.com/s/1mgjxXt2
采用依赖注入的方式:
运行ant部署,执行客户端main,调用成功。
在项目中如果要使用别的EJB可以使用注入的方式。
@EJB Other other;
但是如果EJB找到这个接口被两个类实现了,会报错,因为它不知道我们要注入哪一个。
解决办法:比如要注入的是OtherBean 那么可以使用
@EJB(beanName="OtherBean")Other
other;明确指定要注入的的EJB,就不会出现上诉的问题。
@EJB只能注入EJB,其它的比如定时服务 用 @Resource TimerService
timerService;
注入数据源也是使用@Resource
@Resource(mappedName="") DataSource
dataSource;
mappedName用来指定数据源的JNDI名称。
配置jboss数据源
数据源可以减少数据库连接对象创建的数量,来提升系统的运行性能。
在Jboss创建数据源:
数据库的配置模版在F:\Java\jboss-4.2.2.GA\docs\examples\jca下找到对应数据库模版拷贝到桌面修改。
配置数据源
<datasources>
<local-tx-datasource>
<jndi-name>hquDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/hqutest</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>jerome</password>
将Mysql的驱动文件拷贝到server\default\lib,重启Jboss。
配置好,进行发布,将数据源发布到Jboss,将数据源文件拷贝到server\default\deploy控制台提示发布成功。可以在信息里看到JNDI name。
进入Jboss控制台http://localhost:8080/jmx-console可以看到我们刚刚发布的数据源:在jboss.jca下。
在jboss.jca下name=hquDS,service=ManagedConnectionPool点击进去控制台配置最小最大连接数等等信息重启Jboss配置就不见了,
可以通过mysql-ds.xml配置如配置最小最大连接数在<password>jerome</password>下面加入
<password>jerome</password>
<min-pool-size>3</min-pool-size>
<max-pool-size>100</max-pool-size>
EJB通过注解方式注入并使用其他EJB或者服务、配置JBoss数据源的更多相关文章
- EJB通过注解方式注入并使用其它EJB或者服务、配置JBoss数据源
版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/Jerome_s/article/details/37103171 通过注解方式注入并使用其他EJB或者服务 ...
- spring注解方式注入
1.通过Resource注入 1.在属性上注入 1.默认注入 即不指定spring容器里面的名字 匹配规则:先通过属性的名字查找 再通过属性类型与实现类类型匹配查找 当有两个实现类会报错 2.通过指定 ...
- Spring第七弹—依赖注入之注解方式注入及编码解析@Resource原理
注入依赖对象可以采用手工装配或自动装配,在实际应用中建议使用手工装配,因为自动装配会产生未知情况,开发人员无法预见最终的装配结果. 手工装配依赖对象 手工装配依赖对象,在这种方式中又有两种编 ...
- spring注解方式注入bean
用注解的方式注入bean,spring的配置文件也要增加一些约束和导入注解所在的包 applicationContext.xml <?xml version="1.0" en ...
- EJB配置jboss数据源
1.数据源的模板在\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\docs\examples\jca\下2.编辑数据源文件,比如mysql-ds.xml,命名规则是名称-ds. ...
- Spring使用注解方式注入多例的方式
目前Spring+Netty的开发方式这么火热,想把Netty注册成Spring组件就一定得用多例的方式,我不由得想吐槽明明这么常见的需求网上相关博客都少的很,这里给出Spring使用注解注入多例的方 ...
- Ibatis,Spring整合(注解方式注入)
applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...
- 关于spring的注解方式注入默认值(转) -- 首字母小写
1.是首字母小写 比如 UserAction对应的id是userAction 可以通过ApplicationContext 对象的act.getBean("userAction") ...
- spirngboot 注解方式注入自定义参数
在代码中 @value("oracle.user") private String user; 在配置文件中 oracle.user=root
随机推荐
- [UOJ]#36. 【清华集训2014】玛里苟斯
题目大意:给n个数字,求子集的异或和的k次方的期望(n<=10^5,k<=5,保证答案小于2^63) 做法:首先如果从集合中拿出a和b,把a和a xor b放回集合,子集的异或和与原来是一 ...
- LOJ #6119. 「2017 山东二轮集训 Day7」国王
Description 在某个神奇的大陆上,有一个国家,这片大陆的所有城市间的道路网可以看做是一棵树,每个城市要么是工业城市,要么是农业城市,这个国家的人认为一条路径是 exciting 的,当且仅当 ...
- ●codeforces 553E Kyoya and Train
题链: http://codeforces.com/problemset/problem/623/E 题解: FFT,DP 题意: 一个有向图,给出每条边的起点u,终点v,费用c,以及花费每种时间的概 ...
- hdu 1130 How Many Trees?(Catalan数)
How Many Trees? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- [Noi2015]荷马史诗
来自FallDream的博客,未经允许,请勿转载,谢谢. 追逐影子的人,自己就是影子. ——荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的 ...
- Python3 中 random模块
Python中的random模块用于生成随机数. 下面具体介绍random模块的功能: 1.random.random() #用于生成一个0到1的 随机浮点数:0<= n < 1.0 im ...
- 两个文件比较之comm命令
comm命令可用于两个文件之间的比较.它有很多不错的选项可用来调整输出,以便我们执行交集.求差(difference)以及差集操作. 交集:打印出两个文件所共有的行. 求差:打印出指定文件所包含的 ...
- Hash算法入门指南(聊点不一样的算法人生)
前言 很多人到现在为止都总是问我算法该怎么学啊,数据结构好难啊怎么的,学习难度被莫名的夸大了,其实不然.对于一个学计算机相关专业的人都知道,数据结构是大学的一门必修课,数据结构与算法是基础,却常常容易 ...
- spine - unity3D(摘自博主softimagewht)
摘自:(博主 http://www.cnblogs.com/softimagewht/p/4149118.html) //skeletonDataSkeletonAnimation skeletonA ...
- 获得只有 [年 月 日] 的Date 对象
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String sDate = sim ...