EJB通过注解方式注入并使用其它EJB或者服务、配置JBoss数据源
版权声明:本文为博主原创文章,转载请注明出处。
https://blog.csdn.net/Jerome_s/article/details/37103171
通过注解方式注入并使用其他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查找:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSmVyb21lX3M=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
把EJB部署到Jboss:执行Ant。deploy。
改动client代码: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部署。执行clientmain,调用成功。
在项目中假设要使用别的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数据源
通过注解方式注入并使用其他EJB或者服务 真实项目EJB对象很多,EJB之间也可以互相调用, 在项目HelloWorld下新建接口Other在cn.hqu.ejb3下: public interfac ...
- 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
随机推荐
- Linux sssd 进程 ldap 客户端配置
Linux sssd 进程 ldap 客户端配置 标签(空格分隔): ldap authconfig authconfig命令解析:authconfig 面对多计算机的身份管理以及账户信息同步, 其解 ...
- web前端知识点反思总结
当别人问你之前的知识,我们便会勾起之前的回忆,然后进行一番痛苦的挣扎后,发现我依然记得你 什么是 DTD ? 文档类型定义 (DTD) 可定义合法的 xml 文档的构建模块 ,他是使用一系列合法的元素 ...
- ccf 201703-4 地铁修建(95)(并查集)
ccf 201703-4 地铁修建(95) 使用并查集,将路径按照耗时升序排列,依次加入路径,直到1和n连通,这时加入的最后一条路径,就是所需要修建的时间最长的路径. #include<iost ...
- python 构建自己的log系统
python的logging模块提供了记录程序运行情况的日志功能,类似于Apache的log4j,很好很强大,这里我们就来看一下Python中内置的日志模块logging用法详解 logging模块简 ...
- Jenkins Publish FTP远程部署过程
步骤: 1.安装FileZilla FTP Server 2.添加FTP账号: 1.Edit——Users——Add 2.Edit——Users——Shared folders 3.下载FileZil ...
- TensorFlow 学习(5)——进一步了解MNIST
接TensorFlow(3) 我们构建一个多层卷积网络,以提升MNIST的识别性能 权重初始化 为了创建这个模型,我们需要创建大量的权重和偏执项.这个模型中的权重在初始化是应该加入少量的噪声来打破对称 ...
- C++中的to_string()
目录 C++中的to_string() 注:原创不易,转载请务必注明原作者和出处,感谢支持! C++中的to_string() C++中的 to_string()系列函数将数值转换成字符串形式.注意, ...
- GitHub:Youtube
ylbtech-GitHub:Youtube 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 1. https://github.com/youtube 2. ...
- EDM数据营销之电商篇| 六大事务性邮件,环环相扣打造极致用户体验!
“以用户为中心”的时代,电商们致力于打造极致的用户体验,想尽各式新颖营销办法,但难免还是会出现营销断层,以至于和用户间无法达到完整的交互. 本次Focussend以邮件营销为例,聚焦用户从浏览到支付等 ...
- SQL server 自增主键重新从1开始
原文链接:http://blog.csdn.net/zhengjia0826/article/details/43149953 dbcc checkident('sys_common_switch', ...